MyVision is a SaaS invoicing and project billing platform for small construction and service businesses.
- Frontend: Next.js, TypeScript, Tailwind CSS
- Backend: Java 21, Spring Boot 3
- Database: PostgreSQL
- Migrations: Flyway
- Auth: Spring Security with JWT
apps/web - Next.js frontend
apps/api - Spring Boot backend
packages - shared code and types
docs - product and technical planning
infra - deployment and infrastructure config
scripts - local helper scriptsdocker compose up -d --buildAPI docs: http://localhost:8080/docs
cp apps/web/.env.local.example apps/web/.env.local
npm install
npm run devOpen http://localhost:3000 — register or sign in, then use the dashboard.
The frontend reads NEXT_PUBLIC_API_URL (default http://localhost:8080/api).
- CI runs backend tests and frontend lint/build in GitHub Actions.
- Backend integration tests use Testcontainers, so Docker must be available in CI.
- Set a strong
JWT_SECRETin production. - Set production database credentials through environment variables, not committed files.
- The frontend build uses system fonts so CI does not depend on Google Fonts network fetches.
- Vercel builds the frontend through root
vercel.jsonusing the@myvision/webworkspace. - See
docs/production-readiness.md,docs/deployment-checklist.md,docs/supabase-backup-restore.md, anddocs/e-invoice-validation.mdfor deployment, provider, backup, and compliance details.