The Cue Card Generator App is a web application that generates IELTS-style cue cards dynamically. It consists of a Spring Boot backend, a React Vite frontend, and utilizes Google Gemini AI for generating unique, non-repeating cue card topics.
- Generate unique IELTS-style cue cards
- Ensures no repeated topics
- Fast and interactive user experience
- Uses Google Gemini AI for intelligent topic generation
- Seamless communication between backend and frontend
- Spring Boot (REST API)
- Spring Web (for handling API requests)
- Spring Boot Starter WebFlux (for async communication with Google Gemini AI API)
- Lombok (to reduce boilerplate code)
- Jackson (for JSON processing)
- React (Vite) (for fast, optimized frontend development)
- Axios (for API requests)
- Material UI (for styling)
- React Hooks (for state management)
- Google Gemini AI API (for generating unique IELTS cue card topics)
Ensure you have the following installed:
- Java 17+ (for Spring Boot backend)
- Node.js 18+ (for React frontend)
- Maven (for backend dependency management)
- Google API Key (for accessing Gemini AI)
- Clone the repository:
git clone https://github.com/your-repo/cuecard-generator.git cd cuecard-generator/backend - Configure API keys in
application.properties(you have to pass it as environment variable while launching the backend):gemini.api.key=${GEMINI_API_KEY} gemini.api.url=${GEMINI_API_URL}
- Build and run the Spring Boot application:
mvn clean install mvn spring-boot:run
- The backend will be available at
http://localhost:8080
- Navigate to the frontend directory:
cd ../CCG-FrontEnd - Install dependencies:
npm install
- Configure API endpoints in
.env:BACKEND_URL=http://localhost:8080
- Start the frontend:
npm run dev
- Open the app in the browser at
http://localhost:5173
| Method | Endpoint | Description |
|---|---|---|
| GET | /ccg/getCard |
Generate a new cue card topic |
- Use Docker or deploy on cloud platforms like Heroku, AWS, or Render.
- Deploy using Vercel, Netlify, or Firebase Hosting.
- Fork the repository.
- Create a new branch (
feature/new-feature). - Commit changes and push to the branch.
- Open a Pull Request.
This project is licensed under the ILOVEMAKINGSTUFF.
For queries,NO NO QUERIESS!!!!