Before running the project, ensure you have the following installed:
- Python 3.10+
- Node.js 18+ and npm (or Yarn)
- MongoDB Atlas account (or a local MongoDB instance)
cd Backendpython -m venv venvsource venv/bin/activatevenv\Scripts\activatepip install -r requirements.txtCreate a .env file in the project root or inside the Backend/ directory using the following template:
MONGO_URI=mongodb+srv://<username>:<password>@your-cluster.mongodb.net/?appName=voc-copilot
DB_NAME=voc_database
PORT=8000
HOST=127.0.0.1
JWT_SECRET=your_generated_random_secret_string
JWT_ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=1440Run either of the following commands:
python server.pyor
uvicorn server:app --reload --port 8000cd frontendnpm installnpm run devOpen the following URL in your browser:
http://localhost:3000
The Voice of Customer Copilot dashboard should now be available.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/upload |
Ingests CSV/XLSX files, normalizes raw feedback, and stores it in MongoDB. |
| GET | /api/risk-velocity |
Returns dynamic feedback velocity, time buckets, and spike alerts. |
| GET | /api/dashboard-metrics |
Fetches aggregate feedback volume, sentiment distribution, and risk indicators. |
| GET | /api/insights |
Retrieves AI-generated themes, top customer quotes, and key takeaways. |
| GET / DELETE | /api/datasets |
Lists all ingested feedback datasets or removes existing datasets. |
- Credentials Protection: Database connection strings, JWT secrets, and API credentials are never committed to Git. All sensitive configuration is managed through environment variables stored in the
.envfile. - Git Safe: Local uploads, virtual environments (
venv),node_modules, build artifacts (.next), and other generated files are excluded from version control using.gitignore.
This project is intended for demonstration and portfolio purposes only.