- Develop a RESTful API with Python, and Django REST Framework.
- Practice Test-Driven Development and DevOps knowledge that I have learned from my Software Engineering course in my 3rd year of my university.
- Use pytest to test Django app.
- Practice my Docker knowledge by containerize Django and Postgres inside a Docker container and use Docker compose.
- Run unit and integration tests inside a Docker container.
- Implement an API with Django REST Framework Views and Serializers.
- Learn GitLab CI/CD for continuous integration and deployment.
API url : https://stark-shore-47287.herokuapp.com
| Endpoint | HTTP Method | CRUD Method | Result |
|---|---|---|---|
| /api/movies | GET | READ | Get all movies |
| /api/movies/:id | GET | READ | Get a single movie |
| /api/movies | POST | CREATE | Add a movie |
| /api/movies/:id | PUT | UPDATE | Update a movie |
| /api/movies/:id | DELETE | DELETE | Delete a movie |
| /ping | GET | READ | Check API status |
Build the images:
$ docker-compose build
Run the containers:
$ docker-compose up -d
Create migrations:
$ docker-compose exec movies python manage.py makemigrations
Apply migrations:
$ docker-compose exec movies python manage.py migrate
Run the tests:
$ docker-compose exec movies pytest -p no:warnings
Bring down the containers:
$ docker-compose down
- Add filtering, sorting, pagination and field limiting
- Add React Front-end