Skip to content

SjxSubham/MyGithub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

54 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

MyGithub: Explore GitHub in a Whole New Way!

Overview

MyGithub is a web application that brings the power of GitHub to your fingertips. Whether youโ€™re a developer, a curious learner, or a seasoned open-source enthusiast, MyGithub offers a seamless experience for exploring user profiles, repositories, and more.

Features

1. Authentication & Authorization:
  • Secure login using Passport.js with GitHub Auth.
  • User sessions and tokens handled behind the scenes.
2. GitHub API Integration:
  • Fetch user profiles and repositories directly from GitHub.
  • Real-time data sync with GitHub.
3. Client-Side Repo Filtering:
  • Filter repositories right on the client side.
  • Find relevant repos faster.
4. Robust Error Handling:
  • Comprehensive error handling on both server and client sides.
  • No more mysterious bugs!
5. User Interaction:
  • Like profiles, sign up, and log in, see the users along with date who liked ur profile.
  • Clone repositories.
  • Explore popular repos by username.
  • Explore popular repos of Popular Languages

Tech Stack

Frontend:
  • React (with hooks)
  • Tailwind CSS for styling
Backend:
  • Node.js with Express.js
  • MongoDB for data storage
  • Passport.js for Authentication

Check out MyGithub here: MyGithub App

MyGithub

Getting Started

  1. Clone this repository:
git clone https://github.com/yourusername/mygithub.git

  1. Install dependencies:
cd mygithub
npm install
  1. Set up environment variables (e.g. GitHub API keys, MongoDB URI, CLient Base URL).

  2. Run the app:

npm start

Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

License

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

Give a star to this repo