A professional AI chat application with a modern, user-friendly interface.
Follow these instructions to set up and run the project locally.
- Node.js (v18 or higher recommended)
- MongoDB (running locally or a cloud instance like MongoDB Atlas)
- Git
-
Clone the repository:
git clone <repository_url> cd AetherBot
-
Install dependencies for Backend:
cd backend npm install -
Install dependencies for Frontend:
cd ../frontend npm install
-
Backend Environment Variables:
Create a
.envfile in thebackenddirectory with the following keys:# backend/.env PORT=5002 MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_secret_key_for_jwt GROQ_API_KEY=your_groq_api_key FRONTEND_URL=http://localhost:5173
- Replace
your_mongodb_connection_stringwith your actual MongoDB URI. - Replace
your_secret_key_for_jwtwith a strong random string. - Replace
your_groq_api_keywith your API key from Groq.
- Replace
-
Frontend Environment Variables (Optional):
The frontend is pre-configured to connect to
http://localhost:5002/api. If you need to change this, create a.envfile in thefrontenddirectory:# frontend/.env VITE_API_BASE_URL=http://localhost:5002/api
-
Start the Backend Server:
Open a terminal, verify you are in the
backenddirectory, and run:npm run dev
You should see:
🚀 Server running in development mode on port 5002andMongoDB Connected. -
Start the Frontend Development Server:
Open a new terminal, navigate to the
frontenddirectory, and run:cd frontend npm run devYou should see
➜ Local: http://localhost:5173/.
- Open your browser and navigate to
http://localhost:5173. - Sign Up: Create a new account using the Signup page.
- Login: Log in with your new credentials.
- Chat: Start a new chat, send messages, and view your history in the sidebar. Note that chat history is isolated per user.
- Modern UI: Professional off-white theme with a dotted background pattern.
- User Isolation: Chat history is private and secured for each specific user.
- Authentication: Secure Login and Signup functionality.
- Responsive Design: Fully functional on desktop and mobile devices