Accio Connect is a full-stack job and networking platform built as a monorepo with a React + Vite frontend and a Node.js + Express backend.
frontend/— React client app powered by Vite, Redux Toolkit, and Tailwind CSS.backend/— Node.js API server using Express, MongoDB, JWT authentication, and cookie handling.
- User registration and authentication
- Profile management
- Post creation and retrieval
- Protected API routes with JWT
- CORS support for frontend/backend separation
- Node.js 18+ installed
- npm or yarn available
- MongoDB connection string
- Open a terminal and navigate to the backend folder:
cd backend - Install dependencies:
npm install
- Create a
.envfile inbackend/with values similar to:MONGO_URL=<your-mongodb-connection-string> JWT_SECRET=<your-jwt-secret>
- Start the backend server:
npm start
- The backend runs on:
http://localhost:8000
- Open a terminal and navigate to the frontend folder:
cd frontend - Install dependencies:
npm install
- Create a
.envfile infrontend/with:VITE_BACKEND_API_URL=http://localhost:8000/api
- Start the development server:
npm run dev
- The frontend runs on:
http://localhost:5173
npm start— start backend withnodemon.
npm run dev— run Vite development server.npm run build— build production assets.npm run preview— preview the built frontend.npm run lint— run ESLint.
POST /api/auth/signupPOST /api/auth/signinGET /api/auth/profile(protected)
POST /api/post(create post)GET /api/post(list posts)
GET /healthcheckGET /adminGET /test
- The backend uses CORS to allow the frontend origin at
http://localhost:5173and a couple of deployed Vercel URLs. - The frontend Axios client uses
withCredentials: trueto support cookie-based auth.
- Start MongoDB.
- Run backend from
backend/. - Run frontend from
frontend/. - Sign up or sign in from the React app.
backend/src/app.js— Express app configuration and middleware.backend/src/server.js— server startup and database connection.backend/src/config/db.js— MongoDB connection helper.frontend/src/utils/axios.js— Axios instance with backend base URL.frontend/vite.config.js— Vite configuration.