Link to site: https://www.futsal-manager.tech
(Note: Feel free to use a tmp mail, when trying it out: https://mail.tm/en/)
The Futsal Ultimate Manager is a project consisting of a frontend built with React Typescript and a backend built with Django. The frontend code can be found on Github, while the backend code can be found here in this repo. The backend follows the best practices specified in the Hacksoftware Style Guide. Codebase was built on top of the Hacksoftware Cookiecutter Example.
- The project uses Python 3.10 and the Django Rest Framework.
- The code is formatted using Black. and imports are organized by Isort.
- Type checking is done using mypy.
- Project uses Github actions to run code checkers and tests.
The project is hosted on DigitalOcean's App Platform, and a commit to the deploy branch triggers a deployment. The deployed version contains built React files, which are served statically using gunicorn and whitenoise.
API documentation can be found at:
For authorization, the backend supports both HTTP-only cookies and JWT tokens.
I used Docker during local development, so I could have a postgresql database locally.
Email sending is done by using a simple Gmail backend.
Constants used for match/team/player/pack generation can be found here
- Add tests.
- Document the Swagger API docs.
- Shift intensive tasks such as email sending to Celery.
- Consider using SendGrid instead of Gmail backend.
More improvements are listed as issues in this repository.