This project is a GitHub-inspired web application built using the MERN stack (MongoDB, Express.js, React, Node.js), Tailwind CSS, and the GitHub API. It includes Docker integration for containerization and uses Passport.js for GitHub-based user authentication. Additionally, the application features a profile liking system and a repository exploration section.
Clone the Repository
git clone https://github.com/your-username/github-inspired-app.git
cd gitForge
Set Up Environment Variables
Create a .env
file in the root directory with the following content:
PORT=3000
MONGODB_URI=mongodb://localhost:27017/github-inspired-app
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
SESSION_SECRET=your_session_secret
Install Dependencies
npm install
cd .\frontend\
npm install
cd ..
Run the Application with Docker
Ensure Docker is installed and running, then execute:
docker-compose up --build
Run the Application without Docker
If you prefer running the application without Docker:
# Start MongoDB if not already running
mongod
# Start the backend server
npm run server
# In another terminal, start the frontend development server
cd client
npm run dev
Visit the Application
Open your web browser and navigate to http://localhost:3000
.
Log In with GitHub
Click on the "Log in with GitHub" button to authenticate using your GitHub account.
Interact with Profiles
Browse and like user profiles.
Explore Repositories
Go to the "Explore Repositories" section to view the top 30 most liked repositories in various programming languages including JavaScript, TypeScript, C#, Python, Go, Flutter, Dart, Java, C++, and Swift.
npm run server
: Start the backend server.npm run dev
: Start the React+Vite development server.