Open Source Project Discovery is a beginner-friendly platform designed to help aspiring developers and open-source enthusiasts discover interesting GitHub repositories to contribute to. Users can search, explore, and star repositories with ease.
- will be deployed soon on a live server and link will be updated here.
- till then you can visit the video link here.
- Explore Repositories: Search and explore repositories by name, stars, forks, language, and more.
- Star/Unstar Repositories: Save repositories that you find interesting and star them directly from the platform.
- Detailed Information: View detailed information about each repository, including stars, forks, and programming language.
- Beginner-Friendly: Tailored for beginner developers looking to dive into open-source contributions.
- User-Friendly Interface: Simple, intuitive interface designed for easy exploration.
- React: Frontend framework for building the user interface.
- Express.js: Backend framework for handling API requests.
- Node.js: Runtime environment for executing JavaScript on the server.
- MongoDB: NoSQL database for storing repository data.
- Axios: For making HTTP requests to the backend.
- GitHub API: To fetch repository data from GitHub.
- Node.js (v20 or higher)
- npm (v9 or higher)
- MongoDB
-
Clone the Repository
git clone https://github.com/Lakhwinderr/Open-Source-Discovery.git cd Open-Source-Discovery
-
Install Dependencies
npm install
-
Set Up Environment Variables
Create a
.env
file in ./backend directory and configure the necessary variables for MongoDB connection and GitHub API access.GITHUB_TOKEN MONGODB_CONNECTION_STRING
-
Start the Development Server
First make sure to start backend server
cd backend node index.js
Then go to main project folder and run development server
npm run dev
-
Open the Application
The application should be accessible at http://localhost:3000.
-
Build for Production
To build the application for production, run:
npm run build
The optimized files will be in the
build
directory.
-
Search for Repositories
- Enter keywords, languages, or topics to find relevant repositories.
- The platform fetches repositories from GitHub's API based on your search criteria.
-
Star/Unstar Repositories
- Click on the "Star" button to mark repositories you find interesting.
- The repository is added to your starred list for future reference.
-
View Repository Details
- Click on any repository to view details such as its stars, forks, and programming language.
While working on this project, I faced challenges such as setting up authentication, handling deletion and updates in the database, and adding pagination for repository lists. These features are planned for future updates.
This project is licensed under the MIT License - see the LICENSE file for details.
- There are issues in setting the correct object data variables to their respective fields like stars and URL of the fetched array of objects of the repository data.
- Add user authentication to personalize the experience and allow for secure starring of repositories.
- Implement more robust features such as the ability to delete or update starred repositories directly from the app.
- Improve the pagination functionality on the account page for better navigation.
- Add new features like filtering by issues, contributions, and more personalized repository recommendations.
- Add integration to send request to the user's GitHub account to directly star from this app.
- Deploy the application on a production server with a properly configured domain name.
Contributions are welcome! Please check the CONTRIBUTING.md file for guidelines on how to contribute to this project. Feel free to add new suggestions and changes to the app. Let us make this app more accessible, and productive.
If you like this project, give it a ⭐️ on GitHub and share it with your community!