Welcome to CalcQuest, a dynamic platform designed to help users sharpen their math skills and challenge themselves through engaging activities. This is a Next.js project bootstrapped with create-next-app
.
You can access the live version of CalcQuest at:
π https://calcquest.netlify.app/
- Interactive Math Challenges: Solve various math problems and puzzles.
- User-Friendly Interface: Intuitive design and easy navigation.
- Real-Time Feedback: Get instant results as you solve challenges.
Make sure you have Node.js and npm (or yarn, pnpm, bun) installed.
Clone the repository:
git clone git@github.com:AiDabblers/Flash_Card.git
cd Flash_Card
npm install
.
βββ app/
β βββ api # API routes
β βββ page.tsx # Main page
βββ components/ # React components
βββ firebase.js # Firebase configuration
βββ utils/ # Utility functions
βββ lib/ # API integrations (e.g., Stripe, Clerk, Nodemailer)
βββ .env.local # Environment variables
βββ middleware.ts # Clerk middleware
This guide will help you set up Firebase for your Next.js project.
Make sure you have a Firebase account and access to the Firebase Console: Firebase Console.
You will also need a Firebase project set up in your Firebase Console before proceeding.
- Go to the Firebase Console.
- Click on Add Project and follow the on-screen instructions to create a new project.
- Enable Google Analytics if needed (optional).
- In your Firebase project, navigate to Firestore Database in the left-hand menu.
- Click on Create Database and follow the setup wizard:
- Choose a production mode or test mode depending on your needs.
- Select the default location for your Firestore database.
- Firestore will now be enabled for your project.
Once your Firebase project is set up, you need to configure it within your Next.js app.
- In your Firebase Console, click on the Project Settings (gear icon) on the top left of your project.
- Scroll down to Your Apps and click </> Add App to register your web app.
- You will be provided with the Firebase configuration object. It should look something like this:
// Replace config code in firebase.js
const firebaseConfig = {
apiKey: "your-api-key",
authDomain: "your-auth-domain",
projectId: "your-project-id",
storageBucket: "your-storage-bucket",
messagingSenderId: "your-messaging-sender-id",
appId: "your-app-id",
};
This guide will help you set up Clerk authentication in your Next.js project.
Ensure you have the following before proceeding:
- A Clerk account and a new Clerk project set up.
- A Next.js project initialized (either through
create-next-app
or another method). - Node.js and a package manager (npm, yarn, pnpm, bun) installed.
- Go to the Clerk Dashboard.
- Create a new application by clicking on "Create Application".
- Copy the Frontend API Key and API Key provided by Clerk after setting up the project.
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<Your Clerk Publishable Key>
CLERK_SECRET_KEY=<Your Clerk Secret Key>
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
This guide will help you integrate and use the OpenRouter API in your project. OpenRouter provides powerful APIs for routing and location-based services.
OpenRouter API offers various endpoints for route calculation, geocoding, and more. This document will cover the basic setup and usage for integrating the API into your application.
- API Key: Sign up for an API key at the OpenRouter website.
# Add openrouter api key in .env
OPENROUTER_API_KEY=your-api-key
This guide will help you integrate and use the Stripe API in your project. Stripe provides powerful APIs for payment processing, subscriptions, and more.
- Stripe Account: Sign up for a Stripe account at Stripe.
- API Keys: Obtain your API keys from the Stripe Dashboard.
# Add stripe api key in .env
STRIPE_SECRET_KEY=your-secret-key
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your-publishable-key
Once the dependencies are installed and environment variables are set up, you can start the development server by running:
This will start the local development server and allow you to access your project at http://localhost:3000.
npm run dev
We welcome contributions to improve the platform. Hereβs how you can get started:
- Fork the repository.
- Make your changes.
- Submit a pull request with a description of your changes.
This project is open source and available under the MIT License.