This is a complete quiz application with a React frontend and two backend options:
- Spring Boot backend (full-featured but requires Maven)
- Node.js mock backend (simplified but runs without build tools and persists data)
.
├── backend/ # Spring Boot backend with H2 database
│ ├── src/ # Java source code
│ ├── pom.xml # Maven configuration
│ ├── build-and-run.bat # Build and run script
│ └── ... # Other backend files
├── frontend/ # React frontend
│ ├── src/ # React components and services
│ ├── package.json # NPM dependencies
│ └── ... # Other frontend files
└── javafx-client/ # JavaFX desktop client (optional)
You can choose between two backend implementations:
A fully functional Spring Boot application with:
- ✅ User authentication and registration (JWT)
- ✅ Role-based access control
- ✅ Quiz and question management
- ✅ Quiz attempt tracking and scoring
- ✅ Leaderboard functionality
- ✅ H2 in-memory database
- ✅ Swagger API documentation
A simplified backend implementation that:
- ✅ Provides all essential API endpoints
- ✅ Uses file-based persistence (data survives restarts)
- ✅ Requires no build tools
- ✅ Runs with just Node.js
- ✅ Perfect for demonstrations and testing
- Install Node.js (https://nodejs.org/)
- Navigate to the backend directory:
cd backend - Run:
run-node-backend.bat(Windows) ornpm start(Mac/Linux) - Access the application at: http://localhost:8080
- Install Maven (see
MAVEN-INSTALLATION-GUIDE.md) - Navigate to the backend directory:
cd backend - Build and run:
build-and-run.bat - Access the application:
- API Documentation: http://localhost:8080/swagger-ui.html
- H2 Console: http://localhost:8080/h2-console
The frontend is built with React and is already complete.
- Install Node.js and npm
- Navigate to the frontend directory:
cd frontend - Install dependencies:
npm install - Start the development server:
npm run dev
The frontend should be configured to communicate with the backend at http://localhost:8080/api.
QUICK-START-GUIDE.md- Get up and running quicklyMAVEN-INSTALLATION-GUIDE.md- How to install Mavenbackend/README.md- Detailed backend documentationbackend/SETUP-INSTRUCTIONS.md- Backend setup instructionsbackend/SUMMARY.md- Backend summary
After starting the backend, you can log in with:
- Admin User: admin / admin123
- Regular User: user / user123
- Spring Boot 3.3.4
- Spring Security with JWT
- Spring Data JPA
- H2 Database
- Maven
- Node.js
- Express.js
- JSON file-based persistence
- React
- Vite
- JavaScript/JSX