docker # Intersul Monorepo
Combined frontend and backend codebase for the Intersul service management platform. This repository keeps both applications under a single Git history so shared tooling, documentation, and deployment workflows stay in sync.
frontend/– SvelteKit application responsible for the dashboard, client management, service history, and invitation-based onboarding experience. Seefrontend/README.mdfor framework-specific guidance.backend/– NestJS API that exposes authentication, user invitation, services, clients, and reporting endpoints. Detailed setup lives inbackend/README.md.- Root-level scripts, test helpers, and CI resources live alongside this README and are intended to orchestrate both apps together.
- Frontend: SvelteKit, TypeScript, Tailwind, TanStack Query, Vite.
- Backend: NestJS, TypeScript, TypeORM, MySQL, Redis/Bull for queues, Swagger for API docs.
- Infrastructure & Tooling: Docker Compose, npm (per project), git-filter-repo guidance for history hygiene, automated test scripts.
-
Clone the repository
git clone <repository-url> cd intersul
-
Install dependencies
- Frontend:
cd frontend && npm install - Backend:
cd backend && npm install
- Frontend:
-
Run development servers
- Frontend:
npm run dev(fromfrontend/) - Backend:
npm run start:dev(frombackend/)
- Frontend:
-
Environment variables
- Copy and adjust
backend/env.exampleto configure the API and database. - The frontend consumes environment variables via Vite/SvelteKit conventions; see
frontend/README.mdif additional customization is required.
- Copy and adjust
- Use
backend/docker-compose.ymlto launch MySQL, Redis, and the NestJS API quickly. - Frontend assets assume the API is reachable at the URL configured in their
.envvalues; adjust when running the stack locally or in staging. - End-to-end or integration tests located at the repository root (
TEST_REPORT.md,test-frontend-*.js) interact with both services and help validate monorepo changes.
- Plan changes spanning both apps inside a single branch to keep migrations and UI adjustments aligned.
- Update backend contracts first (DTOs, controllers, services), then integrate the new endpoints or socket events from the frontend.
- Keep pagination, invitation management, and statistics features consistent across modules by reusing utility components (
frontend/src/lib/components) and shared services (backend/src/modules). - Before shipping, run the domain-specific tests in each package and any shared scripts in the repository root.
- Backend-specific docs:
backend/README.md - Frontend-specific docs:
frontend/README.md - Architecture summaries, test reports, and utility scripts are stored alongside this README to provide a single source of truth for monorepo operations.
For questions about the monorepo structure or workflows, update this README or add new guides under docs/ (create the folder if it does not exist) so future contributors can follow the same process.