A full-stack operations management platform for organizing client relationships, projects, meetings, and delivery workflows.
client-operations-portal/
├── frontend/ # Angular SPA
├── backend/ # Express + MySQL API
├── database/schema.sql # Database schema + seed data
├── tests/features/ # Gherkin acceptance scenarios
└── .gitignore
Create the database and seed records:
mysql -u root -p < database/schema.sql
cd backend
cp .env.example .env
npm install
# Edit .env with your MySQL credentials
npm run dev
API runs at http://localhost:3000.
cd frontend
npm install
npm start
Open http://localhost:4200.
GET /healthGET /clientsPOST /clientsGET /projectsPOST /projectsGET /meetingsPOST /meetingsDELETE /meetings/:idThe meeting endpoint rejects past dates server-side. Client email and required fields are validated on both client and server.
cd frontend
npm run build
The generated Angular output is under dist/client-operations-portal/browser.
node_modules, Angular cache, build output and.envare intentionally excluded from the zip.