A beautiful, modern React TypeScript application for intelligent study management with notebooks, notes, flashcards, and quizzes.
- Notebooks: Organize your notes into themed notebooks
- Notes: Rich text notes with markdown support
- Flashcards: Interactive flashcards with flip animations
- Quizzes: AI-generated quizzes from your notes
- Responsive Design: Works perfectly on desktop, tablet, and mobile
- Beautiful Animations: Smooth transitions and micro-interactions
- Dark/Light Theme: Customizable color schemes
- Accessibility: WCAG compliant design
- JWT Authentication: Secure token-based authentication
- Auto-refresh: Automatic token refresh handling
- Protected Routes: Secure access to authenticated content
- Overview Cards: Quick stats and insights
- Recent Activity: Track your study progress
- Quick Actions: Fast access to common tasks
- React 18 - Modern React with hooks
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- React Router - Client-side routing
- Axios - HTTP client for API calls
- Lucide React - Beautiful icons
- React Hot Toast - Toast notifications
- Framer Motion - Smooth animations
- Node.js 16+
- npm or yarn
- StudyPal Backend API running on
http://127.0.0.1:8000
-
Clone the repository
git clone <repository-url> cd studypal-frontend
-
Install dependencies
npm install
-
Start the development server
npm start
-
Open your browser Navigate to
http://localhost:3000
src/
โโโ components/ # React components
โ โโโ auth/ # Authentication components
โ โโโ common/ # Shared components
โ โโโ dashboard/ # Dashboard components
โ โโโ flashcards/ # Flashcard components
โ โโโ notebooks/ # Notebook components
โ โโโ notes/ # Note components
โ โโโ profile/ # Profile components
โ โโโ quizzes/ # Quiz components
โโโ contexts/ # React contexts
โโโ services/ # API services
โโโ index.css # Global styles
The application is configured to connect to the StudyPal backend API. Update the base URL in src/services/api.ts if needed:
private baseURL = 'http://127.0.0.1:8000/api';Create a .env file in the root directory:
REACT_APP_API_URL=http://127.0.0.1:8000/api- User registration and login
- JWT token management
- Automatic token refresh
- Protected routes
- Overview statistics
- Quick action buttons
- Recent activity feed
- Study tips and guidance
- Create, edit, and delete notebooks
- Search functionality
- Beautiful card layout
- Notebook organization
- Rich text editor
- Markdown support
- Note organization by notebook
- Search and filter
- Interactive flip animations
- Study mode with progress tracking
- Create flashcards from notes
- Spaced repetition learning
- AI-generated quizzes from notes
- Multiple choice questions
- Score tracking
- Detailed results and explanations
- User information management
- Account settings
- Study statistics
- Security settings
- Primary: Blue gradient (
#0ea5e9to#0284c7) - Secondary: Purple gradient (
#d946efto#c026d3) - Success: Green (
#22c55e) - Warning: Yellow (
#f59e0b) - Danger: Red (
#ef4444)
- Primary Font: Inter (Google Fonts)
- Monospace: JetBrains Mono (for code)
- Cards: Consistent card design with shadows
- Buttons: Primary, secondary, and danger variants
- Forms: Styled input fields with focus states
- Modals: Overlay modals with backdrop blur
- JWT Authentication: Secure token-based auth
- Token Refresh: Automatic token renewal
- Protected Routes: Route-level security
- Input Validation: Client-side form validation
- XSS Protection: Sanitized user inputs
The application is fully responsive and optimized for:
- Desktop: 1024px and above
- Tablet: 768px to 1023px
- Mobile: 320px to 767px
npm run build-
Install Vercel CLI
npm i -g vercel
-
Deploy
vercel
-
Build the project
npm run build
-
Upload the
buildfolder to Netlify
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
If you encounter any issues:
- Check the browser console for errors
- Verify the backend API is running
- Ensure all dependencies are installed
- Check the network tab for API calls
- Dark mode toggle
- Offline support
- Export notes to PDF
- Collaborative study groups
- Study analytics and insights
- Mobile app (React Native)
- Voice notes
- Image upload support
Built with โค๏ธ for students everywhere