full-stack, real-time messaging application Link : https://testing101-lime.vercel.app/
Ensure you have Docker installed, then run:
docker-compose up -dThis starts a PostgreSQL instance on localhost:8000.
- Navigate to the backend directory:
cd Backend - Install dependencies:
npm install - Configure
.env(refer tosrc/config/env.tsfor required variables):PORT=5000 DB_HOST=localhost DB_PORT=8000 DB_NAME=realtime_chat_and_threads_app DB_USER=MikasaN DB_PASSWORD=ming3465 CLERK_PUBLISHABLE_KEY=your_key CLERK_SECRET_KEY=your_secret CLOUDINARY_CLOUD_NAME=your_name CLOUDINARY_API_KEY=your_key CLOUDINARY_API_SECRET=your_secret
- Run migrations:
npm run migrate - Start development server:
npm run dev
- Navigate to the frontend directory:
cd frontend - Install dependencies:
npm install - Configure
.env.local:NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_key CLERK_SECRET_KEY=your_secret NEXT_PUBLIC_API_URL=http://localhost:5000/api NEXT_PUBLIC_SOCKET_URL=http://localhost:5000
- Start development server:
npm run dev(runs on port 4000)
- Framework: Next.js 15+ (App Router)
- Styling: Tailwind CSS & Shadcn UI
- Auth: Clerk
- State/Realtime: Socket.io Client & React Hooks
- Forms: React Hook Form with Zod validation
- Runtime: Node.js with TypeScript
- Framework: Express
- Database: PostgreSQL
- Realtime: Socket.io
- File Uploads: Cloudinary & Multer
- Security: Helmet & Cors
This project is licensed under the ISC License.