Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Memory Curve Application

Visualize your forgetting curve in real time.

Available here : https://memorycurve.fr/

Memory curve example :

Memory Curve Example

Project Structure

The project is divided into two main components:

memory-curve/
├── backend/         # Python FastAPI backend
├── frontend/        # React.js frontend

Technologies

Backend

  • Framework: FastAPI
  • Database: SQLAlchemy with SQLite
  • Authentication: Google OAuth
  • Environment Management: UV
  • Payment Processing: Stripe
  • Email Service: Brevo

Frontend

  • Framework: React.js

Setup Instructions

Backend Setup

  1. Navigate to the backend directory:

    cd memory-curve/backend
    
  2. Create and activate a virtual environment with UV:

    uv venv .venv
    source .venv/bin/activate
    
  3. 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
    
  4. Start the development server:

    uvicorn main:app --reload
    
  5. The API will be available at http://localhost:8000

    • API documentation: http://localhost:8000/docs

Frontend Setup

  1. Navigate to the frontend directory:

    cd memory-curve/frontend
    
  2. Install dependencies:

    npm install
    
  3. Start the development server:

    npm start
    
  4. The application will open in your browser at http://localhost:3000

Features

  • 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

Development

Backend Development

  • Main application: main.py
  • Database models: models.py
  • Database configuration: database.py
  • API endpoints are organized in the endpoints/ directory

Frontend Development

  • Component-based architecture in src/components/ and src/pages/
  • Follow React best practices for state management and component design

License

Contact

simonkhan160@gmail.com

About

Turn learning into visible progress

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages