Prerequisites
Before you begin, ensure you have the following installed:- Docker Engine (20.10 or higher)
- Docker Compose (2.0 or higher)
- Git (to clone the repository)
Docker Desktop for Mac and Windows includes both Docker Engine and Docker Compose.
Quick Setup
Start the stack
Launch all services with a single command:The initialization script will automatically:
- Install Composer and NPM dependencies
- Wait for PostgreSQL to be ready
- Run database migrations
- Execute seeders for initial data
- Generate Laravel Passport OAuth keys
- Generate Swagger API documentation
- Start Apache and Vite dev server
First-time setup takes 2-3 minutes while dependencies are installed and the database is initialized.
Access the application
Once the stack is running, you can access:
| Service | URL | Description |
|---|---|---|
| Webapp | https://sushigo.local | React admin dashboard (via nginx) |
| Vite Dev | http://localhost:5173 | Direct Vite dev server with HMR |
| API | https://api.sushigo.local/api/v1 | Laravel REST API |
| Swagger UI | http://localhost:8080/api/documentation | Interactive API documentation |
| PgAdmin | http://localhost:5050 | PostgreSQL admin interface |
| MailHog | http://localhost:8025 | Email testing tool |
Verify Your Setup
Check that all services are running correctly:Quick Test Credentials
The default database includes several pre-configured users for testing:| Role | Password | |
|---|---|---|
| Super Admin | [email protected] | admin123456 |
| Admin | [email protected] | admin123456 |
| Inventory Manager | [email protected] | inventory123456 |
Common Commands
Next Steps
Now that you have SushiGo running locally, explore these resources:API Reference
Explore the REST API endpoints and test them with Swagger UI
Architecture
Understand the system design and domain model
Development Guide
Learn about the tech stack and development workflows
Testing
Run tests and write new test cases
Troubleshooting
Port conflicts
Port conflicts
If you see port conflict errors, check if other services are using ports 80, 443, 5173, 5432, 5050, or 8025.You can modify ports in the
.env file or docker-compose.yml.PostgreSQL connection failed
PostgreSQL connection failed
If the API can’t connect to PostgreSQL:
- Ensure the
pgsqlcontainer is healthy:docker compose ps - Check PostgreSQL logs:
docker compose logs pgsql - Verify credentials in
code/api/.envmatchdocker-compose.yml
Permission errors in container
Permission errors in container
If you see file permission errors:
Passport keys not generated
Passport keys not generated
If OAuth authentication fails:
For detailed troubleshooting and manual setup instructions, see the Installation Guide.