An intelligent educational platform with interactive learning paths and AI-powered feedback.
- Java 21 (LTS)
- Spring Boot 3.2.0
- Firebase (Firestore & Authentication)
- Google Cloud Vertex AI (Gemini 1.5)
- React + TypeScript
- React Router
- Firebase SDK
edukit/
βββ backend/ # Spring Boot backend
β βββ src/
β β βββ main/
β β βββ java/com/edukit/
β β β βββ config/ # Configuration classes
β β β βββ controller/ # REST controllers
β β β βββ model/ # Data models
β β β βββ service/ # Business logic
β β βββ resources/
β β βββ application.yml
β βββ pom.xml
β
βββ frontend/ # React frontend (to be implemented)
βββ README.md
- Java 21 or higher
- Maven 3.9+
- Node.js 18+ (for frontend)
- Firebase account
- Google Cloud account (for AI features)
-
Clone the repository
git clone git@github.com:dirgnic/eduKit.git cd eduKit -
Configure Firebase (Optional - can run in mock mode)
- Place your
firebase-credentials.jsonin thebackend/directory - Update
backend/src/main/resources/application.ymlwith your Firebase URL
- Place your
-
Run the backend
cd backend mvn spring-boot:runThe backend will start on: http://localhost:8080/api
-
Test the API
curl http://localhost:8080/api/health
cd frontend
npm install
npm startβ
RESTful API architecture
β
User authentication (ready for Firebase)
β
Course management
β
Lesson organization
β
Progress tracking
β
Assignment submissions
β
AI-powered suggestions (ready for Vertex AI)
β
Interactive course maps
β
Health monitoring endpoints
π§ React frontend
π§ Firebase integration
π§ Google Cloud AI integration
GET /api/health # Get service status
GET /api/health/ping # Simple pingGET /api/courses # List all courses
GET /api/courses/{id} # Get specific course
POST /api/courses # Create new course
PUT /api/courses/{id} # Update course
DELETE /api/courses/{id} # Delete course- Teachers: Full access to create/edit content and view all student data
- Students: View own progress and assignments
cd backend
mvn spring-boot:run -Dspring-boot.run.arguments="--spring.profiles.active=dev"cd backend
mvn clean package
java -jar target/edukit-backend-1.0.0.jarCreate a backend/src/main/resources/application-local.yml for local configuration:
firebase:
credentials-path: ./firebase-credentials.json
database-url: https://your-project.firebaseio.com
google:
cloud:
project-id: your-project-id
location: us-central1- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.
EduKit Team
Status: Backend β Running | Frontend π§ In Development