Get the Service Request App running in minutes!
# 1. Start everything
docker-compose up -d
# 2. Wait 30 seconds for database initialization
# 3. Open your browserAccess the app:
- 🌐 Customer Portal: http://localhost:3000
- 👨💼 Admin Dashboard: http://localhost:3000/admin/login
- 🔌 Backend API: http://localhost:5000/api
Default Login:
- Username:
admin - Password:
admin123
That's it! You're done! 🎉
# Check if you have Node.js installed
node --version # Should be 18+
# Check if you have MySQL installed
mysql --version # Should be 8.0+# 1. Install all dependencies
npm run install:all
# 2. Configure environment
# Edit backend/.env with your MySQL credentials
# 3. Setup database
cd backend
npm run migrate
npm run seed
# 4. Start the app
cd ..
npm run devAccess the app:
- Frontend: http://localhost:3000
- Backend: http://localhost:5000
- Submit service requests
- Choose service types
- Set preferred dates
- Add special instructions
- View dashboard statistics
- See 7-day trends
- Manage all requests
- Schedule assignments
- Track status updates
- Go to http://localhost:3000
- Fill out the service request form
- Submit and receive confirmation
- Go to http://localhost:3000/admin/login
- Login with: admin / admin123
- View the dashboard
- Click "Schedule" on pending requests
- Assign driver and vehicle
- Import
postman_collection.json - Run the "Login" request
- Token is saved automatically
- Try other endpoints
Login:
$body = @{
username = "admin"
password = "admin123"
} | ConvertTo-Json
$response = Invoke-RestMethod -Uri "http://localhost:5000/api/auth/login" -Method Post -Body $body -ContentType "application/json"
$token = $response.tokenGet Service Requests:
$headers = @{
Authorization = "Bearer $token"
}
Invoke-RestMethod -Uri "http://localhost:5000/api/service-requests" -Headers $headers# Check if Docker is running
docker ps
# Restart Docker Desktop
# Try again
docker-compose down
docker-compose up -d# Windows - Kill process on port 3000
Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess | Stop-Process
# Or change ports in docker-compose.yml# Check if MySQL is running
docker-compose ps mysql
# View MySQL logs
docker-compose logs mysql
# Restart MySQL
docker-compose restart mysql# Re-seed the database
docker-compose exec backend npm run seed
# Or check credentials in backend/logs/-
Explore the Code
- Backend:
backend/src/ - Frontend:
frontend/src/
- Backend:
-
Read Documentation
- README.md - Full documentation
- ARCHITECTURE.md - System design
- COMMANDS.md - All commands
-
Try API Endpoints
- Use Postman collection
- Check API Documentation
-
Customize
- Update branding
- Add new features
- Deploy to production
# View logs
docker-compose logs -f
# Stop everything
docker-compose down
# Restart a service
docker-compose restart backend
# Access database
docker-compose exec mysql mysql -u admin -p
# Run tests
cd backend && npm test- MVC Architecture: See ARCHITECTURE.md
- API Details: See README.md
- Deploy to Production: See DEPLOYMENT.md
- All Commands: See COMMANDS.md
Verify everything is working:
# Check health endpoint
curl http://localhost:5000/health
# Should return: {"status":"OK","timestamp":"..."}- Check README.md troubleshooting section
- View COMMANDS.md for all commands
- Check Docker logs:
docker-compose logs -f - Review ARCHITECTURE.md for design details
If you can:
- ✅ Access the customer portal
- ✅ Login to admin dashboard
- ✅ See sample data
- ✅ Create a service request
Congratulations! You're all set! 🚀
Enjoy building with the Service Request Management System!
For detailed information, see README.md