Description: Skill Development Tool
- Backend: Spring Boot 3+, Java
- Frontend: React JavaScript
- Database: MySQL
- Deployment: Podman / Docker, OCI optional
- Clone the repository
git clone https://github.com/<your-repo>/Pebble.git
cd Pebble- Build & Run Containers
podman compose up --build -dThis starts 3 containers:
- MySQL (pebble-mysql) on port 3306
- Backend (pebble-backend) on port 8080
- Frontend (pebble-frontend) on port 3000
- Access the App
- Frontend: http://localhost:3000
- Backend API: http://localhost:8080
- Database Setup
- MySQL container will automatically create the
pebbledbdatabase. - Seed a default user:
USE pebbledb;
INSERT INTO users (username, encrypted_password, role, object_version)
VALUES ('Prasanth', 'Welcome1', 'ADMIN', 1);- Login Credentials
{
"username": "Prasanth",
"password": "Welcome1"
}- Useful Podman Commands
- Check running containers:
podman ps - View logs:
podman logs pebble-backend - Stop containers:
podman compose down - Remove container:
podman rm <container_name>
- Static Welcome Page with login
- Project Dashboard with projects & topics
- Pebble Dashboard & individual Pebble management
- Timer / Stopwatch for study tracking
- JWT-based authentication
POST /auth/login→ Authenticate userGET /project/getAll/{userId}→ List user projectsPOST /project/add→ Add a projectPOST /project/update/{project_id}→ Update projectGET /pebble/getAll/{project_id}→ List pebblesPOST /pebble/add/{project_id}→ Add a pebble
- Users: user_id, username, encrypted_password, creation_date, last_update_date, role
- Project: id, user_id, title, topics, target_date, creation_date, last_update_date, object_version
- Pebble: id, project_id, user_id, notes, topics, state, creation_date, last_update_date