Skip to content

The Mailing Service Scheduler is a comprehensive web application designed to manage and automate email marketing campaigns. This project allows users to create and manage mailing lists, subscribe clients to these lists, and track the status of email sending attempts.

Notifications You must be signed in to change notification settings

RomanPecheritsa/MailScheduler

Repository files navigation

Mailing Management Service

Overview

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.

Features

  • 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.

Technology Stack

  • 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.

Installation and Setup

1. Clone the Repository

git clone git@github.com:RomanPecheritsa/MailScheduler.git
cd MailScheduler

2. Copy the env.example file to .env:

Open.env and replace the values of the variables with your own

cp .env.example .env

3. Install Dependencies

The project uses Poetry for dependency management. Ensure Poetry is installed, then run the following command to install all dependencies:

poetry shell
poetry install

4. Start Migrations

To start migrations, use the following command:

python3 manage.py migrate

5. Create Superuser

Enter the command in the terminal:

python3 manage.py create_superuser

6. Load Fixture

Loading test fixtures for the database:

python3 manage.py loaddata data.json

7. Create Group

Loading test fixtures for the database:

python3 manage.py create_groupe

8. Create Manager and Content-Manager

Enter the command in the terminal:

python3 manage.py create_staff

9. Run Server

To run server, use the following command:

python3 manage.py runserver

The server will be available at http://127.0.0.1:8000

About

The Mailing Service Scheduler is a comprehensive web application designed to manage and automate email marketing campaigns. This project allows users to create and manage mailing lists, subscribe clients to these lists, and track the status of email sending attempts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages