Neuropace is a powerful and user-friendly spaced repetition system designed to help users optimize their learning and retention. By leveraging the scientifically proven SM2 algorithm, Neuropace makes memorization both effective and engaging.
- User Profile Management and Authentication: Secure and seamless user authentication system to manage profiles.
- Deck Management: Create, read, update, and delete (CRUD) decks for personalized learning.
- Flashcard Management:
- Create, update, and delete flashcards with smooth flipping animations.
- Bulk flashcard creation from JSON or CSV files.
- Spaced Repetition Algorithm:
- Integrated SM2 algorithm for intelligent scheduling of flashcards.
- Uses a Priority Queue and Dynamic Array for efficient flashcard reviewing.
- Drag and Drop Flashcard Upload: Easy bulk creation of flashcards using
dropzone-react
. - Responsive UI: Beautifully designed interface built with Tailwind CSS and Shadcn UI components.
- Error Handling: Strong type validation using Typescript and Zod.
Technology | Purpose |
---|---|
Next.js (App Router) | Frontend framework for a seamless user experience. |
Tailwind CSS | For modern and responsive UI design. |
Shadcn Components | Accessible and customizable UI elements. |
Dropzone-React | Drag-and-drop functionality for bulk uploads. |
Vercel Postgres | Backend database for reliable data storage. |
TypeScript | Strongly typed language for safer development. |
Zod | Schema-based type validation for robust inputs. |
Flashcards reviewing interface
-
Clone the repository:
git clone https://github.com/yourusername/neuropace.git cd neuropace
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in the root directory and add the following variables:NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY= CLERK_SECRET_KEY= POSTGRES_URL= POSTGRES_PRISMA_URL= POSTGRES_URL_NO_SSL= POSTGRES_URL_NON_POOLING= POSTGRES_USER= POSTGRES_HOST= POSTGRES_PASSWORD= POSTGRES_DATABASE= NEXT_PUBLIC_CLERK_SIGN_IN_URL= NEXT_PUBLIC_CLERK_SIGN_UP_URL=
-
Run the development server:
npm run dev
-
Access the app: Open http://localhost:3000 in your browser.
- AI-powered suggestions for creating flashcards.
- Enhanced analytics to track user progress and performance.
- Collaboration features for shared decks and study groups.
Contributions are welcome! If you have suggestions or improvements, please:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
. - Submit a pull request with your changes.
This project is licensed under the MIT License.
- The concept of spaced repetition and the SM2 algorithm for guiding Neuropace’s design.
- Amazing open-source libraries and tools that made this project possible.
For inquiries or feedback, feel free to reach out at mawwabkhank2006@gmail.com or visit GitHub Profile.
Crafted with ❤️ by Muhammad Awwab Khan Muhammad Talha Syed Muhammad Rayyan🌟