DevQuest is a unique platform where developers can solve daily real-world problems by creating web applications. This platform provides practical challenges to sharpen your coding skills and allows you to share your solutions with the community.
348269102-5871f45e-ba1f-40c0-ad35-71ef161261f0.mp4
- Daily AI-Generated Challenges: Get a new, real-world problem to solve every day, created using advanced AI.
- User Submissions: Submit your solutions as web applications.
- Commenting System: Engage with the community by commenting on solutions, with support for nested comments to facilitate detailed discussions.
- Like System: Show appreciation for other developers' solutions.
- Daily Winner: The user with the most liked solution each day wins.
- User Authentication: Secure user login and registration.
- Image Uploads: Upload images of your projects for better visual representation.
-
Clone the repository:
git clone https://github.com/AasheeshLikePanner/Dev_Quest cd devquest
-
Install backend dependencies:
cd backend npm install
-
Install frontend dependencies:
cd frontend npm install
-
Setup environment variables: Create a
.env
file in both thebackend
andfrontend
directories with the following variables:Backend (.env):
MONGO_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret GOOGLE_API_KEY=your_google_generative_ai_api_key
Frontend (.env):
VITE_APP_API_PREFIX=your_api_prefix
-
Run the backend server:
cd backend npm start
-
Run the frontend server:
cd frontend npm start
- Node.js
- Express
- MongoDB
- Mongoose
- jsonwebtoken
- Multer
- Cloudinary
- Google Generative AI API
- Cookie Parser
- React
- Tailwind CSS
- Material UI
- Axios
- React Router
- React DOM
Note: This project uses cookies for authentication. Due to this, it cannot be deployed on free hosting services as they often do not support cookie storage across page refreshes. To deploy this project, a domain purchase is required to ensure cookies are preserved.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Open a Pull Request.