Odoo Hackathon 2025 Round1
StackIt is a full-featured Q&A platform inspired by Stack Overflow, built with modern web technologies to provide a seamless experience for technical discussions, knowledge sharing, and community engagement.
- User Authentication: Secure sign up, login, and profile management
- Rich Text Editor: Built with Lexical for a great content creation experience
- Questions & Answers: Post questions and provide detailed answers
- Voting System: Upvote/downvote questions and answers
- Comments: Add context and request clarifications
- Tags & Categories: Organize content for better discoverability
- Real-time Notifications: Stay updated on activities
- Responsive Design: Works on all devices
- React 19
- Vite (Build Tool)
- React Router DOM (Routing)
- Lexical (Rich Text Editor)
- Bootstrap 5 (Styling)
- Axios (HTTP Client)
- React Icons
- Lottie Animations
- Node.js with Express
- MongoDB (Database)
- Mongoose (ODM)
- JWT (Authentication)
- Bcrypt (Password Hashing)
- Nodemailer (Email Notifications)
- Multer (File Uploads)
- Node.js (v16 or higher)
- npm or yarn
- MongoDB (local or Atlas)
-
Clone the repository
git clone https://github.com/yourusername/StackIt.git cd StackIt -
Set up the backend
cd backend npm install cp .env.example .env # Update .env with your configuration
-
Set up the frontend
cd ../frontend npm install -
Start the development servers
- In the backend directory:
npm run dev - In the frontend directory:
npm run dev
- In the backend directory:
-
Open http://localhost:5173 in your browser.
StackIt/
├── backend/ # Backend server
│ ├── controllers/ # Route controllers
│ ├── db/ # Database connection
│ ├── middleware/ # Custom middleware
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ └── utils/ # Utility functions
├── frontend/ # Frontend React app
│ ├── public/ # Static files
│ └── src/ # Source files
│ ├── components/ # Reusable UI components
│ ├── contexts/ # React contexts
│ └── ...
└── README.md # This file
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by Stack Overflow
- Built with amazing open source technologies
- Created for Odoo Hackathon 2025