AlgoHunt is a responsive platform that offers over 150 DSA-based problems across 5+ platforms, empowering 300+ active users to enhance their data structures and algorithms (DSA) skills.
- Implemented Google login with JWT authentication to ensure user data security.
- Filters for problems based on difficulty and platform, making it easier for users to find suitable challenges.
- Efficiently maintained 150+ problems through an admin dashboard utilizing KnexJS for server-database connections and real-time updates.
- Designed a user-friendly UI/UX that boosts user retention through personalized progress tracking.
- ReactJS
- Node.js
- Express.js
- PostgreSQL
- Material UI
- Knex.js
- JavaScript
- CSS
- Google OAuth
- pgAdmin
To set up the project on your local machine, follow these steps:
-
Fork the repository:
- Click the "Fork" button at the top-right corner of this page.
-
Clone the repository:
git clone https://github.com/Jai-Marothiya/AlgoHub.git cd AlgoHub
-
For the backend (Node.js):
cd server npm install
-
For the Frontend (React.js):
cd client npm install
-
Start the backend server:
cd server npm start
-
Start the frontend:
cd client npm start
- Open your browser and go to http://localhost:3000 to view the app.
We encourage contributions of all kinds! You don’t need to have knowledge of the entire tech stack to contribute. Here are some ways you can help:
- Bug Fixes: Identify and fix bugs.
- New Features: Implement new features based on open issues.
- Documentation: Improve the documentation to help users understand the project better.
- UI Improvements: Suggest or implement UI/UX improvements.
When working on a feature or bug fix, please create a new branch:
git checkout -b feature/your-feature-name
If you find a bug or have a feature request, please follow these steps:
- Check existing issues: Ensure your issue hasn’t already been reported.
- Submit a new issue: Use the provided issue template to describe the bug or feature.
To submit a pull request (PR), follow these steps:
-
Create a branch for your changes.
git checkout -b feature/your-feature-name
-
Make your changes and commit them:
git commit -m "Description of your changes"
-
Push to your fork:
git push origin feature/your-feature-name
-
Submit a pull request: Go to your fork on GitHub and click "Compare & pull request."
-
Provide a detailed description of what your PR does and why it's necessary.
Here’s a brief overview of the folder structure:
.
├── server/ # Backend source code
├── client/ # Frontend source code
├── README.md # Project overview
├── CONTRIBUTING.md # Contribution guidelines
├── LICENSE # Project license
└── ...
Thank you to all the contributors who have helped make AlgoHunt a better platform!