Period Tracking Backend is a Django project designed to provide backend functionality for period tracking applications. It includes features such as user authentication, user details management, period tracking, and data retrieval.
- User authentication: Allows users to register, login, and manage their accounts securely.
- User details management: Enables users to update their personal information such as name, date of birth, and physical attributes.
- Period tracking: Facilitates the tracking of menstrual cycles, including start and end dates, cycle lengths, and symptoms.
- Data retrieval: Provides endpoints to fetch user-specific period data for analysis or visualization.
- Period Prediction: Utilizes historical period data and an ML model to forecast future menstrual cycles, aiding users in planning and preparation.
- Python 3.x
- Django
- Django REST Framework
- MongoDB
- RabbitMQ
Documentation for APIs in Postman
To install and run the project locally, follow these steps:
- Clone the repository:
git clone https://github.com/VishSinh/Period-Tracker.git
- Navigate to the project directory:
cd Cycle-Sync
- Build and run the project locally:
make build-and-run-local
- For additional commands, use:
make help
To run this project, you will need to add the following environment variables to your .env file
SECRET_KEY
SESSION_SECRET_KEY
SESSION_EXPIRY
USER_ID_HASH_SALT
CELERY_BROKER_URL
RATE_LIMIT
RATE_LIMIT_WINDOW