Skip to content

SjxSubham/MyGithub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

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
6. Chat with Other Users:
  • Real-time chat functionality for connecting with fellow GitHub users.
  • Send messages, share ideas, and share screenshots.

Tech Stack

Frontend:
  • React (with hooks)
  • Tailwind CSS for styling
Backend:
  • Node.js with Express.js
  • MongoDB for data storage
  • Passport.js for Authentication
  • Socket.io for real-time communication
  • Multer for file uploads

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
cd frontend
npm i
cd ..
cd backend 
npm install
  1. Set up environment variables (e.g. GitHub API key, MongoDB URI, CLient Base URL) check .env.sample file for reference.

  2. Run the app:

npm start

(U may redirected automatically to the actual deployed site, make changes at the main.jsx file to run this in local development settings)

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 โญ

About

MyGithub : Explore GitHub in a Whole New Way!๐Ÿš€

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 2

  •  
  •