A web-based flashcard application that allows users to create, manage, and study flashcards on various topics. Built with Next.js, Firebase, and Material-UI, this application provides a user-friendly interface for learning and memorization.
- User authentication with Clerk
- Create and manage flashcard collections
- View and study flashcards
- Responsive design for mobile and desktop
- Easy navigation with a bottom navigation bar
- Frontend: Next.js, React, Material-UI
- Backend: Firebase Firestore
- Authentication: Clerk
- Icons: Material-UI Icons
- Node.js (v14 or later)
- npm or yarn
- Firebase project with Firestore enabled
- Clerk account for user authentication
-
Clone the repository:
git clone https://github.com/Paul-Clue/flashcard-app.git cd flashcard-app
-
Install dependencies:
npm install # or yarn install
-
Set up environment variables:
Create a
.env.local
file in the root of the project and add your Firebase and Clerk credentials:NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_firebase_project_id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id NEXT_PUBLIC_FIREBASE_APP_ID=your_firebase_app_id CLERK_FRONTEND_API=your_clerk_frontend_api CLERK_API_KEY=your_clerk_api_key
-
Start the development server:
npm run dev # or yarn dev
-
Open your browser and navigate to
http://localhost:3000
.
- # or create an account using Clerk.
- Create new flashcard collections and add flashcards.
- Click on a flashcard collection to view and study the flashcards.
- Use the delete option to remove collections as needed.
This application is deployed on Vercel. To deploy your own version:
- Push your code to a GitHub repository.
- # for a Vercel account and connect your GitHub repository.
- Configure environment variables in the Vercel dashboard.
- Deploy your application.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or features.
This project is licensed under the MIT License - see the LICENSE file for details.