This is the final training project of "Python Developer" specialization.
Django / DRF web app that helps office workers manage tasks
Deployed at: https://task-man.up.railway.app/
- Implemented the web app using Django ClassBasdViews
- Practiced implementation of CRUD operations and user permissions
- The UI localized in two languages (Eng/Ru) using i18n
- The REST API added using DFR
- The app covered with 126 tests (unit & end-to-end)
- Parameterized fixtures and fixture factories used
- The code refactored to follow DRY, KISS
This project was built using these tools:
Tool | Description |
---|---|
Django | Web framework |
Django ORM | Database-abstraction API |
Django REST Framework | Web-API toolkit |
PostgreSQL | Database management system |
Bootstrap | CSS framework |
Docker | Container-based platform for building apps |
Poetry | Python dependency manager |
Pytest | Testing framework |
Factory Boy | Factories as fixtures replacement |
Flake8 | Linter to check code style |
Code Climate | Clean Code verification system |
GitHub Actions | Continuous Integration (CI) |
Railway | Deployment platform |
Rollbar | Error logging & tracking service |
Swagger UI | API documentation |
- https://task-man.up.railway.app/api/v1/ - API root
- https://task-man.up.railway.app/api/v1/schema/docs/ - Swagger UI documentation
The application stores data using PostgresSQL (connected via DATABASE_URL).
- make install - to install dependencies
- make migrate - to migrate a database
- make start - to start the app
- make dev - to start app on development web server
- make test - to run tests
- make lint - to run linter (Flake8)
(more service commands can be found in Makefile)