https://github.com/fork-commit-merge/fork-commit-merge-web
Welcome to Fork, Commit, Merge! Your one-stop resource hub for mastering GitHub contributions! This project is the repo of Fork, Commit, Merge -website.
https://github.com/fork-commit-merge/fork-commit-merge-web
clerk css javascript mongodb mongodb-atlas netlify nextjs react reactjs tailwind tailwindcss typescript
Last synced: 2 months ago
JSON representation
Welcome to Fork, Commit, Merge! Your one-stop resource hub for mastering GitHub contributions! This project is the repo of Fork, Commit, Merge -website.
- Host: GitHub
- URL: https://github.com/fork-commit-merge/fork-commit-merge-web
- Owner: fork-commit-merge
- License: mit
- Created: 2023-07-26T08:44:25.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-09T07:47:23.000Z (3 months ago)
- Last Synced: 2025-03-10T14:55:34.050Z (3 months ago)
- Topics: clerk, css, javascript, mongodb, mongodb-atlas, netlify, nextjs, react, reactjs, tailwind, tailwindcss, typescript
- Language: TypeScript
- Homepage: https://forkcommitmerge.vercel.app
- Size: 6.09 MB
- Stars: 27
- Watchers: 3
- Forks: 34
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: code_of_conduct.md
- Security: SECURITY.md
Awesome Lists containing this project
README

[](LICENSE)
[](https://github.com/nikohoffren/fork-commit-merge-web/pulls)
[](https://github.com/nikohoffren/fork-commit-merge-web/issues)
[](https://github.com/nikohoffren/fork-commit-merge-web/pulls)
[](https://github.com/nikohoffren/fork-commit-merge-web/pulls)
"Fork, Commit, Merge" serves as a comprehensive resource for mastering GitHub
contributions, catering to both beginners and seasoned developers. Our detailed
guides are tailored to simplify your GitHub experience, covering everything from
forking and committing to merging processes. We're dedicated to enabling you to
contribute skillfully and confidently to the open-source community. Join us in
our journey of coding, collaboration, and creativity!


























































































_Find awesome badges for your project in this repository:
[markdown-badges](https://github.com/Ileriayo/markdown-badges)_## Table of Contents
This project is the repo of
[Fork, Commit, Merge -website](https://forkcommitmerge.vercel.app).- [Features](#features)
- [Tech Stack](#tech-stack)
- [Local Development](#local-development)
- [Contributing](#contributing)
- [Questions](#questions)
- [License](#license)
- [Disabled Features](#disabled-features)
- [List of Contributors](#list-of-contributors)## Features
- **Comprehensive Guides**: Easy to follow step-by-step guides for various
GitHub processes, from creating a repository to managing pull requests.- **Command Tutorials**: Detailed tutorials on Git commands to enhance your
productivity and workflow efficiency.- **Best Practices**: Recommendations on Git and GitHub best practices to
promote high-quality code and effective collaboration.- **Contribution Guidelines**: Detailed guides on how to properly contribute to
open-source projects, including etiquette and effective communication with
project maintainers.- **FAQs and Troubleshooting**: A comprehensive section dedicated to frequently
asked questions and common issues users face while contributing on GitHub.- **Resource Library**: An extensive collection of external resources such as
books, blog posts, and video tutorials on Git and GitHub.## Tech Stack
- React.js
- Next.js
- TypeScript
- Tailwind CSS
- MongoDB Atlas
- Clerk (Authentication)
- GitHub API## Local Development
Follow these steps to run the application in your local environment:
1. Clone this repository.
```bash
git clone https://github.com/fork-commit-merge/fork-commit-merge-web.git
```2. Install the project dependencies.
```bash
cd fork-commit-merge-web
npm i
```3. If you're working with features regarding anything database related, you need to set up your environment variables locally and create a Github MongoDB Atlas cluster and an AWS S3 bucket. If you're working with some other features, you can skip this step.
First, make a copy of the `.env.local.example` file and rename it to
`.env.local`.```bash
cp .env.local.example .env.local
```You will need to replace the placeholder values in this file with your actual
credentials.- For [MongoDB Atlas](https://www.mongodb.com/cloud/atlas), you will need to
replace `MONGODB_URI` with your MongoDB connection string. You can get this
from the MongoDB Atlas dashboard. Also, remember to add `0.0.0.0/0` to the
Network Access to allow connections from all IP addresses.- For Github you need to replace `GITHUB_ID` and `GITHUB_SECRET` with your on
credentials by creating a GitHub OAuth Application:- Go to your GitHub account settings.
- Navigate to "Developer settings" > "OAuth Apps" > "New OAuth App."
- Fill in the application name, homepage URL (use NEXTAUTH_URL value), and
set the authorization callback URL as
/api/auth/callback/github.After registering the application, you will receive a client ID and client
secret.- You also need to replace NEXTAUTH_SECRET with a random string. You can
generate one simply in terminal:- On Linux and macOS:
- You can use the openssl command to generate a random string. Open your
terminal and run `openssl rand -base64 32`. This will generate a
32-byte random string encoded in base64. You can copy this string and
use it as the value for NEXTAUTH_SECRET.- On Windows:
- If you're using Windows, you can use PowerShell to generate a random
string. Open PowerShell and run
`[System.Text.Encoding]::UTF8.GetString((1..32 | ForEach-Object { Get-Random -Minimum 0 -Maximum 255 })) | Out-Clipboard`.
This will generate a 32-character random string and copy it to your
clipboard.4. Run the development server.
```bash
npm run dev
```## Contributing
Contributions to fork-commit-merge-web are always welcome, whether it be
improvements to the documentation, new features, bug fixes, or even feedback on
the project.**1.** Fork the project.
**2.** Add a reference to the original repository:
```bash
git remote add upstream https://github.com/fork-commit-merge/fork-commit-merge-web.git
```**3.** Check the remotes for this repository:
```bash
git remote -v
```**4.** Take a pull from the upstream repository to your main branch to keep it
at par with the main project:```bash
git pull upstream main
```**5.** Create your feature branch:
```bash
git switch -c my-new-feature
```**6.** Add your changes:
```bash
git add files-that-you-changed
```**7.** Commit your changes:
```bash
git commit -m 'Add some feature'
```**8.** Push to the branch:
```bash
git push -u origin my-new-feature
```**9.** Submit a pull request.
We kindly request that you express your interest in working on a particular
issue by leaving a message on the respective issue thread. This will allow us to
assign the issue to you directly, thereby preventing multiple individuals from
simultaneously working on the same problem.If you have some small bug, feature, or fix to make, that is not currently on
Issues, feel free to submit a pull request.For major changes, please open an issue first to discuss what you would like to
change. Please make sure to update tests as appropriate.Also, please read our [Contributing Guidelines](CONTRIBUTING.md) for more
information.## Questions
If you have any questions about the repo, open an issue or contact us directly
at [email protected]## License
This project is licensed under the MIT License.
## Disabled Features
This document provides information about the features that are currently
disabled on this website.### Dashboard
The Dashboard feature is currently disabled because it needs more development. It should show all pull requests that the user has merged, but it is not working properly. When user logs in using Clerk, the dashboard will get stuck in a loop and will not show the user's pull requests immidiately. After clicking somewhere else on the website, the dashboard will show the user's pull requests. The pull request table also needs to be styled properly.
Currently, when "Dashboard" text is replaced with text "Login" in the navigation bar, the dashboard feature is disabled.
### Leaderboard
The Leaderboard feature is currently disabled because it needs more development. It should show the top contributors of the website, but is not always fetching the data from MongoDB.
## List of Contributors
Massive thanks to all of these fine individuals who contributed to this project!