Calendar Reminder - это веб-приложение, разработанное для управления событиями и автоматической отправки напоминаний. Проект демонстрирует работу с асинхронными задачами, управление базой данных и реализацию RESTful API.
- 👤 Аутентификация пользователей
- 📝 Создание и управление событиями
- ⏰ Автоматические email-напоминания
- 🔄 Асинхронная обработка задач
- 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 # Зависимости проекта
POST /register # Регистрация нового пользователя
POST /login # Вход в систему
POST /logout # Выход из системы
GET /events # Получение списка событий
POST /events # Создание нового события
- Клонируйте репозиторий:
git clone [email protected]:svitlanasheptur/calendar_reminder_project.git
cd calendar_reminder_project
- Запустите проект через 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
Разработано Светланой Шептур © 2024