Visualize your forgetting curve in real time.
Available here : https://memorycurve.fr/
The project is divided into two main components:
memory-curve/
├── backend/ # Python FastAPI backend
├── frontend/ # React.js frontend
- Framework: FastAPI
- Database: SQLAlchemy with SQLite
- Authentication: Google OAuth
- Environment Management: UV
- Payment Processing: Stripe
- Email Service: Brevo
- Framework: React.js
-
Navigate to the backend directory:
cd memory-curve/backend -
Create and activate a virtual environment with UV:
uv venv .venv source .venv/bin/activate -
Install dependencies from pyproject.toml:
uv add fastapi uvicorn sqlalchemy pydantic "passlib[bcrypt]" numpy google-auth-oauthlib google-api-python-client google-auth apscheduler stripe brevo-python -
Start the development server:
uvicorn main:app --reload -
The API will be available at
http://localhost:8000- API documentation:
http://localhost:8000/docs
- API documentation:
-
Navigate to the frontend directory:
cd memory-curve/frontend -
Install dependencies:
npm install -
Start the development server:
npm start -
The application will open in your browser at
http://localhost:3000
- Spaced Repetition System: Optimizes memory retention through scientifically-proven intervals
- Learning Tracking: Monitor your progress and memory retention rates
- Custom Decks: Create your own learning materials
- Google Integration: Easily import/export data and sign in with Google
- Google Calendar Integration: Automatically schedule study sessions in your calendar
- Notification System: Timely reminders for optimal study sessions
- Main application:
main.py - Database models:
models.py - Database configuration:
database.py - API endpoints are organized in the
endpoints/directory
- Component-based architecture in
src/components/andsrc/pages/ - Follow React best practices for state management and component design
