Educational Camp Management Platform
CampSphere is a full-stack web application designed to simplify the management of educational camps. It provides dedicated portals for parents, children, instructors, administrators, and camp owners with modern, role-specific dashboards.
Team:
- Ionescu Rares-Andrei -> Child & Parent Portals
- Petrec Matei -> Admin Portal
- Leonte Robert -> Owner & Instructor Portals
- Secure login system with Spring Security
- Five distinct user roles with specialized functionality:
- Parent: Register and manage children, select camps, track progress
- Child: Upload feedback photos, submit camp reviews
- Instructor: View assigned activities, manage daily schedules
- Admin: Manage camps, groups, activities, locations, and registrations
- Owner: Full control with analytics, dashboards, and leaderboards
- Register as a parent (email + phone login)
- Register multiple children under one account
- Browse and register for available camps
- View child progress, scores, and milestones
- Track camp registrations and optional trips
- Login with credentials created by parent
- Upload camp photos with feedback
- View personal camp schedule
- Submit feedback and reviews
- View assigned activities and groups
- Manage daily activity schedules
- Track activity completion
- Create and manage camps, activities, locations, and trips
- Assign instructors to activities
- Generate groups automatically based on age and activity slots
- View comprehensive feedback from children
- Monitor costs and summaries
- Full system oversight with analytics dashboards
- Assign scores to children for gamification
- View leaderboards across all camps
- Manage activity schedules and instructor assignments
- Track overall camp performance
- Backend: Java 17, Spring Boot 3.x, Spring Security
- Database: PostgreSQL 15 (containerized with Docker)
- Frontend: HTML5, CSS3, JavaScript (ES6+), Bootstrap 5.3.2
- Design: Custom modern design system with Inter font, gradient backgrounds, animations
- Build Tool: Maven 3.8+
- Containerization: Docker & Docker Compose
Before running CampSphere, ensure you have the following installed:
- Java 17+ (Download)
- Maven 3.8+ (or use included Maven Wrapper
./mvnw) - Docker Desktop (Download)
- Git (Download)
git clone https://github.com/yourusername/CampSphere.git
cd CampSpheredocker-compose up -dThis will start a PostgreSQL 15 container named campsphere-postgres on port 5432 with:
- Database:
campsphere - Username:
postgres - Password:
postgres
The application will automatically create tables on first run using JPA/Hibernate. To populate sample data:
On macOS/Linux:
chmod +x setup-database.sh
./setup-database.shOn Windows:
setup-database.batThis will populate the database with sample camps, locations, activities, instructors, parents, and children.
Using Maven Wrapper (recommended):
./mvnw clean install
./mvnw spring-boot:runOr using Maven:
mvn clean install
mvn spring-boot:runThe application will start on http://localhost:8080
Once the application is running, navigate to:
- Home Page: http://localhost:8080
- Parent Portal: http://localhost:8080/parent-login.html
- Child Portal: http://localhost:8080/login-child.html
- Instructor Portal: http://localhost:8080/login.html
- Admin Portal: http://localhost:8080/admin-login.html
- Owner Portal: http://localhost:8080/owner-login.html
After running the setup script, you can use these sample accounts:
Parent:
- Email:
wdavis@gmail.com - Phone:
(080)280-6271
Child:
- Email:
preeves@yahoo.com - Password:
password123
Admin/Owner:
- Check the
init-ecamp-data.sqlfile for admin and owner credentials
CampSphere/
βββ src/
β βββ main/
β β βββ java/com/ecamp/ # Backend Java code
β β β βββ controller/ # REST API endpoints
β β β βββ model/ # JPA entities
β β β βββ repository/ # Data access layer
β β β βββ service/ # Business logic
β β βββ resources/
β β βββ static/ # Frontend HTML/CSS/JS
β β β βββ assets/ # Images, fonts
β β β βββ *.html # Portal pages
β β βββ application.properties
β βββ test/ # Unit tests
βββ docker-compose.yml # PostgreSQL container config
βββ init-ecamp-data.sql # Sample data population
βββ setup-database.sh/bat # Database setup scripts
βββ pom.xml # Maven dependencies
CampSphere features a modern design system with:
- Color Themes:
- Blue gradient for parents π΅
- Green gradient for children π’
- Orange gradient for admins π
- Purple gradient for owners π£
- Typography: Inter font family
- Components: Modern cards, animated backgrounds, gradient buttons
- Animations: Smooth hover effects, floating patterns, fade-in transitions
- Accessibility: Proper label-input associations, semantic HTML
Start database:
docker-compose up -dStop database:
docker-compose downView logs:
docker logs campsphere-postgresAccess PostgreSQL CLI:
docker exec -it campsphere-postgres psql -U postgres -d campsphereContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
Created with β€οΈ for modern camp management
For questions or issues, please open an issue on GitHub.