From d8ebf148dda8d5e7fae5906568aa01e98aa4cc23 Mon Sep 17 00:00:00 2001 From: pacien Date: Thu, 29 Jul 2021 18:15:12 +0200 Subject: docs: add improvement ideas --- readme.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'readme.md') diff --git a/readme.md b/readme.md index b2841a6..8e18082 100644 --- a/readme.md +++ b/readme.md @@ -210,6 +210,47 @@ simplicity. [CSRF]: https://owasp.org/www-community/attacks/csrf [SameSite]: https://owasp.org/www-community/SameSite +### Going further + +#### Technical platform improvements + +* Form validation could be refactored to make constraints more easily + composable and to improve error reporting to users with a per-field + granularity. + +* Error handling could be improved by the use of exceptions to be turned into + user-friendly error messages in a generic way, either through decorators or + with a middleware. + +* Request handlers could be made fully asynchronous after migrating to psycopg3 + to improve performance under a large amount of requests. + +* Database schema migration will need to be implemented to ease the deployment + of subsequent versions of the application. + +#### Functional project improvements + +* A minimum transaction amount needs to be introduced to prevent users from + dodging the transaction fees by sending small unbillable amounts. + +* The financial transaction log on the wallet page gets longer over time and + needs to be properly paginated. + +* Some stronger form of authentication could be used, either by delegating the + authentication to some other provider, or by adding multiple-factor + authentication. + +* Users should be offered the possibility to modify their account data, delete + their account, and to download all the data concerning them. + +* The creation of new user accounts could require some email validation. + Users could be notified via email of incoming money transfers. + +* The user interface could be translated into multiple languages with the help + of an internationalisation/localisation library such as [Babel]. + +[Babel]: http://babel.pocoo.org/en/latest/ + ## Development environment -- cgit v1.2.3