PsycheIT is composed of two independent Node.js projects — an Express backend that handles authentication, intent classification, and translation, and a Vite-powered React frontend. This guide walks you through cloning the repository and running both services locally so you can develop and test the full application on your machine.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Nandini-13/PsycheIT/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before you begin, make sure the following tools are installed:- Node.js ≥ 18
- npm ≥ 9
- Git
Node.js 18 or higher is required because the backend uses ES modules (
"type": "module" in server/package.json), which have been stable since Node 12 but are best supported from Node 18 onward. Run node -v and npm -v to confirm your versions before proceeding.Clone the Repository
Start the Backend
The backend is a plain Node.js process. It must be started before the frontend.Install dependencies
natural (Naive Bayes classifier), bcryptjs, jsonwebtoken, cors, body-parser, dotenv, and @vitalets/google-translate-api.Start the Frontend
Open a new terminal window or tab — the backend process must keep running in the first terminal.Install dependencies
react-router-dom 7, react-markdown 10, Tailwind CSS 4, and Vite 7.Start the Vite dev server
Verify the Setup
With both services running, confirm the backend is accepting requests by sending a test message to the/classify endpoint:
intent field holds the top-level category detected by the Naive Bayes classifier trained in server.js. The classifications array lists the top three scored categories.
Project Structure
Here is the top-level layout of the repository:package.json files, separate node_modules/ directories, and are started independently.
The backend must be running before you open the frontend in your browser. The chatbot page (
/chatbot) immediately attempts to reach http://localhost:5000/classify on load. If the backend is not up, the chatbot will silently fail to respond.