Add full-stack release tracker with NestJS backend and React/Vite frontend. Includes environment configs, Docker setup, database migration scripts, core backend modules (auth, projects, releases, transaction codes, users), frontend dashboard components, context providers, and utility files. |
4 hours ago | |
|---|---|---|
| backend | 4 hours ago | |
| frontend | 4 hours ago | |
| supabase/migrations | 4 hours ago | |
| .env | 4 hours ago | |
| .gitignore | 4 hours ago | |
| README.md | 4 hours ago | |
| SETUP_DATABASE.md | 4 hours ago | |
| package-lock.json | 4 hours ago | |
| test.txt | 1 day ago | |
README.md
Verto
Verto is a full-stack release tracker built with React + Vite on the frontend and NestJS + MySQL on the backend. Users can sign up, authenticate with JWTs, manage client/environment release metadata, and customize their personal settings (profile, avatar, password) without leaving the workspace.
Repo layout
backend/– NestJS + TypeORM API (JWT auth, releases CRUD, MySQL integration)frontend/– React + Vite dashboard (shown below)
Getting started
-
Install dependencies
(cd backend && npm install) (cd frontend && npm install) -
Configure environment variables
The backend now looks for three
.env*files:backend/.env– production defaults (gitignored). Copybackend/.env.exampleand fill in real secrets.backend/.env-development– used wheneverNODE_ENVis unset ordevelopment. Update this file for local dev.backend/.env-test– used whenNODE_ENV=test, e.g., during Jest/e2e runs.
cp backend/.env.example backend/.env # production / deployment secretsEnsure a MySQL database (default
verto) exists and the configured user has permissions. Create separate schemas (verto_dev,verto_test) if you keep the dev/test defaults.NODE_ENVcontrols which file loads (defaults todevelopment); Jest setsNODE_ENV=testautomatically, andNODE_ENV=production npm run start:prodwill read from.env. -
Run the dev servers (in separate terminals)
(cd backend && npm run start:dev) # http://localhost:3000 (cd frontend && npm run dev) # http://localhost:5173 -
Optionally build/preview the frontend
(cd frontend && npm run build) (cd frontend && npm run preview)
Project structure
frontend/src/
├─ components/
│ ├─ AppContent.tsx
│ ├─ auth/
│ ├─ common/
│ └─ dashboard/
├─ contexts/
├─ services/
├─ styles/
├─ types/
└─ utils/
contexts/keeps isolated auth + release providers.services/holds API + session helpers.components/are split by feature (auth vs dashboard) with smaller presentational children.utils/centralizes data shaping helpers (flattening/grouping releases, exporting JSON, etc.).styles/includes shared tokens plus CSS modules per component for maintainable styling.
Features
- Email + password auth persisted in MySQL and secured with JWTs
- Add/edit/delete release metadata per client/environment with server-side validation
- Invite collaborators to specific client projects via emailed signup links
- Search across clients, branches, versions, and environments
- JSON export of the current user's release catalog
- Responsive layout with accessible modals and form semantics