Skip to content

Open Source Discovery project to help helps beginners discover OS projects based on seversal queries such as labels, stars, forks, etc.

License

Notifications You must be signed in to change notification settings

Lakhwinderr/Open-Source-Discovery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Source Project Discovery 🌐

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.

🚀 Demo

  • will be deployed soon on a live server and link will be updated here.
  • till then you can visit the video link here. alt text alt text alt text

✨ Features

  • 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.

🛠️ Tools & Technologies

  • 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.

🛠️ Installation

Prerequisites

  • Node.js (v20 or higher)
  • npm (v9 or higher)
  • MongoDB

Steps

  1. Clone the Repository

    git clone https://github.com/Lakhwinderr/Open-Source-Discovery.git
    cd Open-Source-Discovery
  2. Install Dependencies

    npm install
  3. 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
    
  4. 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
  5. Open the Application

    The application should be accessible at http://localhost:3000.

  6. Build for Production

    To build the application for production, run:

    npm run build

    The optimized files will be in the build directory.

📝 Usage

  1. 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.
  2. 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.
  3. View Repository Details

    • Click on any repository to view details such as its stars, forks, and programming language.

Challenges & Setbacks

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.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

What's next for Open Source Project Discovery

  • 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

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.

🌟 Show Your Support

If you like this project, give it a ⭐️ on GitHub and share it with your community!

Author

About

Open Source Discovery project to help helps beginners discover OS projects based on seversal queries such as labels, stars, forks, etc.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •