aboutsummaryrefslogtreecommitdiff
path: root/demo-project-specs.md
blob: e3bfbebce499226949568024db4b7cd9f8e1dfc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
---
title: >
  UGE / L2 / Intro to relational databases / Python project prototype /
  Money transfer platform specification

author: Pacien TRAN-GIRARD
date: 2021-07-24
...


# Project description

The goal is to create a platform on which users can send money to each others.


## Accounts

Unauthenticated visitors can to either create a new account or log in into an
existing one using their username and the matching password.

### Balance

Each account has a balance, which must remain non-negative at all times.

### Transaction log

Users can see a log of all of the financial transactions which involved them.


## Operations

### Deposit and withdrawal

Users can deposit and withdraw an arbitrary amount of money to and from their
account. Both operations are free.

### Money transfer

Users can send money between each others, referred to by their respective
usernames.

Each transaction between users has a fee of 10% of the transferred amount.