Notification service

Read this in other languages: Русский

Task

It is necessary to develop a service for managing API administration and receiving statistics for mailings. Link to this task.

Description

  • Implement methods for creating a new mailing, viewing created ones, and obtaining statistics for completed mailings.
  • Implement the notification sending service to an external API.
  • Optionally, you can choose any number of additional points described after the main ones.

Documentation

ToDo

Client entity

  • GET: View created clients
  • POST: Adding a new client with all of its attributes
  • PUT: Client attribute updates
  • DELETE: Delete a client

Dispatch entity

  • GET: View created mailings
  • POST: Adding a new newsletter
  • PUT: Mailing attribute updates
  • DELETE: Delete a mailing
  • Processing active mailings and sending messages to clients

Report

  • GET: Getting overall statistics on created mailings and the number of messages sent, grouped by their statuses
  • GET: Obtaining detailed statistics of sent messages for a specific mailing

Additional tasks

  • 3. Prepare a docker-compose file to launch all project services with a single command.
  • 5. Configure it so that the Swagger UI page opens at the /docs/ address, displaying the documentation for the developed API.

Docker compose

docker-compose build
docker-compose up -d
docker-compose run web python manage.py createsuperuser

Open terminal Django

docker exec -it notification_service bash