An intelligent spaced-repetition platform designed to optimize learning and memory retention through a modern, fluid user experience.
- 🧠 Spaced Repetition Engine: Automatically schedules reviews based on performance to maximize long-term retention.
- 🗂️ Smart Organization: Manage knowledge with intuitive decks, color-coded categories, and visual tags.
- 📊 Progress Tracking: Visual insights into mastery levels with detailed statistics and daily review queues.
- 🎨 Modern UI/UX: A responsive, dark-mode ready interface built with NextUI and Framer Motion for smooth interactions.
- 🔐 Secure Authentication: Robust custom JWT authentication system including email verification and password recovery flows.
- Framework: Next.js 14 (App Router & Pages API)
- Language: TypeScript
- Styling: Tailwind CSS & NextUI
- Database: PostgreSQL with Prisma ORM
- Email: Resend & React Email
Follow these steps to get a local development environment up and running in minutes.
- Node.js (v18 or higher)
- PostgreSQL (Local instance or cloud provider like Supabase/Neon)
Clone the repository and install dependencies:
git clone https://github.com/your-username/smartflow.git
cd smartflow
npm installCreate a .env file in the root directory.
⚠️ Important: Never commit your.envfile to version control.
# Database Connection
DATABASE_URL="postgresql://user:password@localhost:5432/smartflow?schema=public"
# Authentication Secrets
APP_SECRET="your-super-secure-jwt-secret-key"
# Application Settings
BASE_URL="http://localhost:3000"
NEXT_PUBLIC_ENV="local" # Use 'prod' for production
# Email Services (Resend)
RESEND_API_KEY="re_123456789"Start the application locally:
npm run devThe application will be available at http://localhost:3000.
This project uses Prisma for database management. Before running the app, ensure your database schema is pushed and seeded with initial data.
-
Push Schema to DB:
npx prisma db push
-
Seed Initial Data: Populates the database with default languages, colors, and test users.
npm run seed
Distributed under the MIT License. See LICENSE for more information.
