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.