A full-stack application for tracking and managing shisha (hookah) sessions.
shisha-log/
├── backend/ # Go backend API
├── frontend/ # React frontend SPA
├── infra/ # Terraform infrastructure
├── docs/ # Documentation
├── .env # All environment variables (frontend + backend)
├── .env.example # Example configuration
└── Makefile # Project commands
-
Setup environment files
make setup-env # Edit .env with your configuration -
Install dependencies
make install
-
Run development servers
# In separate terminals: make backend-dev # Backend on http://localhost:8080 make frontend-dev # Frontend on https://localhost:5173
Run make help to see all available commands:
- Development:
backend-dev,frontend-dev - Build:
backend-build,frontend-build - Deploy:
deploy-frontend,deploy-backend,deploy-all - Infrastructure:
infra-init,infra-apply,infra-unified-apply
Single environment file in the project root:
.env- All configuration (frontend VITE_* and backend settings).env.example- Example configuration with all required variables
The application uses separate domains for frontend and backend:
- Frontend: S3 + CloudFront (https://shisha.toof.jp)
- Backend: AWS Lightsail with Docker (https://api.shisha.toof.jp)
- Database: PostgreSQL via Supabase
See docs/ for detailed deployment guides.