Skip to content

svitlanasheptur/calendar_reminder_project

Repository files navigation

Calendar Reminder Application 📅

Python Flask Redis Celery

About The Project 🎯

Calendar Reminder - это веб-приложение, разработанное для управления событиями и автоматической отправки напоминаний. Проект демонстрирует работу с асинхронными задачами, управление базой данных и реализацию RESTful API.

Ключевые функции:

  • 👤 Аутентификация пользователей
  • 📝 Создание и управление событиями
  • ⏰ Автоматические email-напоминания
  • 🔄 Асинхронная обработка задач

Технический стек 🛠️

Backend

  • Python 3.9
  • Flask (веб-фреймворк)
  • SQLAlchemy (ORM)
  • Flask-Login (аутентификация)
  • Celery (асинхронные задачи)
  • Redis (брокер сообщений)
  • Docker (контейнеризация)

Архитектура проекта 🏗️

calendar_reminder_project/
├── app.py                 # Основной файл приложения
├── extensions.py          # Инициализация расширений Flask
├── models/               
│   ├── user.py           # Модель пользователя
│   └── event.py          # Модель события
├── routes/
│   ├── auth.py           # Маршруты аутентификации
│   └── event_routes.py   # Маршруты для работы с событиями
├── celery_tasks/
│   └── tasks.py          # Асинхронные задачи Celery
├── docker-compose.yml    # Конфигурация Docker
└── requirements.txt      # Зависимости проекта

API Endpoints 🌐

Аутентификация

POST /register          # Регистрация нового пользователя
POST /login            # Вход в систему
POST /logout           # Выход из системы

События

GET  /events           # Получение списка событий
POST /events           # Создание нового события

Запуск проекта 🚀

  1. Клонируйте репозиторий:
git clone [email protected]:svitlanasheptur/calendar_reminder_project.git
cd calendar_reminder_project
  1. Запустите проект через Docker:
docker-compose up --build

Приложение будет доступно по адресу: http://localhost:5000

Примеры использования 📝

Создание события

curl -X POST http://localhost:5000/events \
-H "Content-Type: application/json" \
-d '{
    "title": "Важная встреча",
    "description": "Обсуждение проекта",
    "start_time": "2024-10-26 10:00:00",
    "reminder_time": "2024-10-26 09:45:00"
}'

Планы по развитию 🎯

  • Добавить веб-интерфейс
  • Реализовать повторяющиеся события
  • Добавить различные типы напоминаний (SMS, Push)
  • Интеграция с календарями Google/Outlook

Контакты 📫

Gmail Telegram


Разработано Светланой Шептур © 2024

About

Мой первый pet-проект

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published