A full-stack application with React frontend, Spring Boot backend, and PostgreSQL database. Features weather-aware event planning and job application management.
- Docker & Docker Compose (only requirement!)
git clone <repository-url>
cd SchedulerCreate a .env file in the project root:
# Weather API (Required for Event Management)
VITE_WEATHER_API_KEY=your_weatherapi_key_here
# Google Maps API (Required for Job Application geocoding)
VITE_GOOGLE_MAPS_API_KEY=your_google_maps_key_hereGet API Keys:
- WeatherAPI.com: Get free key (1M calls/month)
- Google Maps: Get API key (enable Geocoding API)
# Start everything with Docker (no npm install needed!)
docker compose up --build
# Access the app
open http://localhost:5173# Start all services in background
docker compose up --build -d
# Check status
docker compose ps
# View logs
docker compose logs -f
# Stop services
docker compose down- Frontend: http://localhost:5173
- Backend API: http://localhost:8080
- Database: localhost:5432
Scheduler/
├── src/ # React frontend
│ ├── components/ # Reusable UI components
│ ├── pages/ # Main application pages
│ └── services/ # API services (weather, etc.)
├── backend-java/ # Spring Boot backend
│ ├── src/main/java/ # Java source code
│ └── src/main/resources/ # Configuration files
├── docker-compose.yml # Multi-service orchestration
└── README.md # This file
- Weather Integration: Real-time weather data for 5 office locations
- Smart Recommendations: AI-powered location suggestions based on weather conditions
- Forecast Support: Plan events up to 10 days ahead
- Intelligent Scoring: Considers temperature, wind, humidity, and weather conditions
- Geocoding: Automatic nearest office detection based on address
- File Upload: Resume submission with validation
- Form Validation: Complete client and server-side validation
- Interactive Map: Office locations with clickable markers
- Responsive Design: Mobile-first approach with Tailwind CSS
# All development happens in Docker containers
# Changes are automatically reflected with hot reload
# View logs
docker compose logs -f
# Rebuild after major changes
docker compose up --build# Access PostgreSQL
docker exec -it scheduler-postgres psql -U postgres -d tardus
# View tables
\dt
# View employees
SELECT * FROM employee;The app uses WeatherAPI.com for real-time weather data:
- Current Weather: For today's events
- 10-Day Forecast: For future event planning
- 5 Office Locations: Irving TX, McKinney TX, Santa Clara CA, Tampa FL, Pittsburgh PA
- Smart Scoring: Considers safety, comfort, and event suitability
- Perfect: Overcast, 65-75°F, light breeze, 40-60% humidity
- Good: Partly cloudy, moderate conditions
- Acceptable: Light rain, manageable conditions
- Poor: Hot/sunny, high winds, extreme temperatures
- Dangerous: Thunderstorms, heavy rain, unsafe conditions
# Build and start all services
docker compose up --build -d
# Check status
docker compose ps
# View logs
docker compose logs -f
# Stop services
docker compose downCreate a .env.production file:
# Production API keys
VITE_WEATHER_API_KEY=your_production_weather_key
VITE_GOOGLE_MAPS_API_KEY=your_production_maps_key
# Database configuration
DB_URL=jdbc:postgresql://postgres:5432/tardus
DB_USER=postgres
DB_PASSWORD=your_secure_password# Clone and setup
git clone <repository-url>
cd Scheduler
# Add production environment variables
cp .env.production .env
# Deploy with Docker
docker compose up --build -d