π Features
π§ Coding Workspace
Interactive coding playground
Supports multiple programming languages (extendable)
Real-time code execution
Test cases with pass/fail output
Problem details, examples, and constraints
Auto-saving code to user profile
π Problem Library
Categorized problems (Easy, Medium, Hard)
Detailed explanations & constraints
Search & filter functionality
Track progress (Solved, Attempted, Bookmarked)
πΉ Live 1-on-1 Video Interview
Interviewer/interviewee mode
Built using Stream Video
Reactions: thumbs up, applause, thinking, etc.
Live shared coding editor
Real-time audio/video stream
End interview summary & feedback
π¬ Real-time Messaging
Chat rooms powered by Stream Chat
Send text, emojis, attachments
Typing indicators, message status
π Authentication & Authorization
Secure login/signup via Clerk
OAuth support (Google, GitHub, etc.)
Role-based user access
βοΈ Background Jobs
Task automation & async workflows using Inngest
Email notifications / interview reminders
Sync user progress & analytics
π€ User Dashboard
Solved problems statistics
Interview history
Saved/bookmarked questions
Account settings
π± Fully Responsive UI
Modern, accessible UI built with Tailwind CSS + DaisyUI
Mobile-first responsive layout
Dark/light mode
ποΈ Tech Stack Frontend
React.js β UI Framework
JavaScript (ES6+)
Tailwind CSS β Utility-first styling
DaisyUI β Component library for Tailwind
Stream Video + Stream Chat β Real-time communication
Backend
Node.js β Runtime environment
Express.js β Server framework
MongoDB + Mongoose β Database & schema modeling
Inngest β Background jobs & event workflows
Clerk β Authentication & user management
DevOps & Tools
Git & GitHub β Version control
Cloud deployment (Vercel/Render/Netlify) β For hosting
Environment variables for API secrets
ESLint + Prettier β Code formatting and linting
DevChat/ β βββ frontend/ # React frontend β βββ src/ β β βββ components/ β β βββ pages/ β β βββ hooks/ β β βββ lib/ β β βββ api/ β β βββ data/ β βββ public/ β βββ server/ # Node.js backend β βββ controllers/ β βββ routes/ β βββ models/ β βββ config/ β βββmiddlewares/ β βββ utils/ β βββ inngest/ # Background jobs β βββ README.md βββ package.json βββ .env.example
π οΈ Installation & Setup
-
Clone the repository git clone https://github.com/mwasiq11/DevChat.git cd DevChat
-
Install dependencies Frontend cd frontend npm install
Backend cd backend npm install
-
Add .env files
-
Start development servers
Frontend:
npm run dev
Backend:
npm run dev
π§ͺ Testing
Jest / React Testing Library (frontend)
Supertest + Jest (backend)
Includes test cases for:
API endpoints
Auth flows
Coding workspace logic
π Future Enhancements
AI-powered code suggestions
Mock interview scheduling system
Collaborative room for group coding
More languages support
Admin panel for adding problems
π€ Contributing
Contributions are welcome!
Fork the repo
Create a new branch: git checkout -b feature-newFeature
Commit your changes
Push the branch and open a PR
π License
MIT License Β© 2025 DevChat
β Support
If you like DevChat, consider giving it a β on GitHub!