A tool for helping job-seekers build their resumes, ace interviews, and stay on task at work
Start the Docker environment:
docker compose up -dRun migrations and seed default data:
docker compose exec app php artisan migrate --seedBuild frontend assets (run from host machine):
cd laravel && npm install && npm run build && cd ..Access the app at http://localhost:8145.
| Container | Image | Purpose | Ports |
|---|---|---|---|
| success-app | php:8.5-fpm (custom) | PHP-FPM with Laravel extensions and Composer | 9000 (internal) |
| success-nginx | nginx:alpine | Serves laravel/public/, proxies PHP to app |
8145 → 80 |
| success-db | mysql:8.0 | MySQL database | 3491 → 3306 |
Docker Compose reads from the root .env file for container names, ports, and database credentials. This file is gitignored and generated during project setup. See .env.example for the expected variables.
Laravel's own laravel/.env handles application-level config (app key, database connection, session driver, etc.) and is also gitignored.
From the host machine, the database is accessible on port 3491.
All artisan commands run through the app container:
docker compose exec app php artisan migrate
docker compose exec app php artisan make:model Example -m
docker compose exec app php artisan tinkerOn production servers, drop the Docker prefix:
php artisan migrateDetailed technical documentation lives in the docs/ directory:
- Database Schema — table definitions, model relationships, cascade behavior
- Services & Commands — service classes, artisan commands, business logic
- Routes & Controllers — full route listing, controller responsibilities, request flows
- Frontend — Tailwind/Vite setup, Blade templates, view structure, UI conventions
- AI Development Notes — conventions for AI-assisted development with Claude
- Planned Features — future feature roadmap