An open API service indexing awesome lists of open source software.

https://github.com/sjxsubham/mygithub

MyGithub : Explore GitHub in a Whole New Way!πŸš€
https://github.com/sjxsubham/mygithub

githubapi javascript mongo-db nodejs passportjs reactsjs tailwindcss

Last synced: about 1 month ago
JSON representation

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

Awesome Lists containing this project

README

          

# 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](https://dub.sh/mygithubapp)

![MyGithub](https://github.com/SjxSubham/MyGithub/assets/142329838/4e983299-8b63-435c-997a-2ddc2c0dfa7f)

## Getting Started
1. Clone this repository:
```
git clone https://github.com/yourusername/mygithub.git

```

3. Install dependencies:
```
cd MyGithub
npm install
cd frontend
npm i
cd ..
cd backend
npm install
```
3. Set up environment variables (e.g. GitHub API key, MongoDB URI, CLient Base URL) check .env.sample file for reference.

4. 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](MyGithub/LICENSE)**. See the LICENSE file for details.

>> Give a star to this repo ⭐