Supporting discussions, knowledge base, bug reports, blogs, and more for developers
- 💬 Discussions API - Enable community discussions with tagging and voting
- 📚 Knowledge Base API - Manage and serve community-driven documentation
- 🐛 Bug Reports API - Report and track bugs with detailed statuses
- 📝 Blog API - Manage and share blog posts within the community
- 🎥 Virtual Meetings API - Integration for real-time virtual meeting functionalities
- 🔒 Authentication - JWT-based user authentication system
- 🌙 Real-time Features - Live updates, notifications, and chat
-
Backend:
- Node.js
- Express.js
- MongoDB (via Mongoose)
- JWT Authentication
- REST API
-
Development Tools:
- Nodemon (for hot-reloading during development)
- dotenv (for managing environment variables)
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone https://github.com/usama7365/Devhub-Backend.git
cd Devhub-Backend
- Install dependencies:
npm install
- Set up environment variables in a .env file:
PORT="8080"
NODE_ENV=PRODUCTION
MONGO_URI=" Enter your MongoDB URI"
CLIENT_URL=http://localhost:3000
# NodeMailer
EMAIL_USER= "Enter your email address"
EMAIL_PASS= "Enter your email App password"
JWT_SECRET=bdf298405dc8fb298ef8c86921dbc5f1d7e78191
REFRESH_TOKEN_SECRET=bdf298405dc8fb24dpf8c86921dbc5f1d7e78191
MAIL= "Enter your email address"
- Start the development server:
npm run server
src/
├── config/ # DB connection and environment settings
├── controllers/ # API route controllers for business logic
├── models/ # Mongoose models (User, Discussion, etc.)
├── routes/ # Express route handlers
├── middlewares/ # Authentication and error handling middlewares
├── utils/ # Helper functions
├── server.js/ # Entry point to start the server
└── .env # Environment variables (not tracked in Git)
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a new branch:
git checkout -b feature/amazing-feature
- Make your changes
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Create, update, and view discussions
- Tagging and categorization of topics
- Upvoting and marking solutions
- Manage community-driven documentation
- Categorized articles
- Search functionality
- Version history
- Structured bug reporting system
- Status tracking
- Solution sharing
- Integration with discussions
- Rich text editor
- Image uploads
- Tags and categories
- Social sharing
- Real-time video conferencing
- Screen sharing
- Chat functionality
- Meeting scheduling
- Custom authentication system (JWT)
- Protected API routes
- Secure data handling
- Live notifications
- Real-time chat
- Instant updates
- Presence indicators
- Advanced code editor integration
- GitHub integration
- Team collaboration features
- API documentation
- Community events calendar
- Developer portfolios
- Job board integration
- Mentorship program
- Node.js for backend infrastructure
- Express.js for the server framework
- MongoDB for NoSQL database
- JWT for authentication
- dotenv for environment variables management
If you appreciate the work I'm doing on DevHub and want to support the development of the platform, consider becoming a sponsor.
Thank you for supporting the DevHub community! 🙏
For questions or support, please open an issue or contact the maintainers:
- GitHub: GitHub Profile
- Email: [email protected]