This project aims to develop a mailing management service that allows users to create, administer, and analyze the effectiveness of email campaigns. The service focuses on maintaining current clients through engaging newsletters and informational blasts.
- CRUD Operations: Manage mailing lists with create, read, update, and delete functionalities for both mailings and clients.
- Scheduling: Implement scheduled email dispatches using Django APScheduler, allowing for automatic sending based on specified time frames.
- Client Management: Maintain client data (email, full name, comments) and associate them with specific mailings.
- Mailing Settings: Configure mailing details, including first send date, frequency (daily, weekly, monthly), and mailing status (created, completed).
- Message Management: Create and manage email messages that are part of the mailings.
- Django: The web framework used for backend development.
- Materialize CSS: A responsive front-end framework for styling the application.
- Django APScheduler: A library for managing scheduled tasks and periodic jobs.
- Redis: Used for caching to enhance performance and speed up data retrieval.
- PostgreSQL:The database management system used for storing application data.
git clone git@github.com:RomanPecheritsa/MailScheduler.git
cd MailScheduler
Open.env and replace the values of the variables with your own
cp .env.example .env
The project uses Poetry for dependency management. Ensure Poetry is installed, then run the following command to install all dependencies:
poetry shell
poetry install
To start migrations, use the following command:
python3 manage.py migrate
Enter the command in the terminal:
python3 manage.py create_superuser
Loading test fixtures for the database:
python3 manage.py loaddata data.json
Loading test fixtures for the database:
python3 manage.py create_groupe
Enter the command in the terminal:
python3 manage.py create_staff
To run server, use the following command:
python3 manage.py runserver
The server will be available at http://127.0.0.1:8000