The backend of a Software Engineering coursework project, resembling Twitter. The backend implements a RESTful API that is consumed by a frontend web application and a mobile application.
All the main features of twitter are implemented, including tweets and timelines, trends, user profiles, direct messages, live notifications, etc. The application uses Flask as a backend framework, and PostgreSQL as a DBMS.
The project includes:
- Full backend code, with automatically generated API documentation and code documentation.
- Unit tests written by the backend development team, and a script automating them.
- Scripts automating database migration (in SQL).
- Stress tests written by the testing team.
- Docker and Travis CI/CD configuration files for deployment, written by the DevOps team.