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: 13 days 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 (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-09T07:47:23.000Z (8 months ago)
- Last Synced: 2025-03-10T14:55:34.050Z (8 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/fork-commit-merge/fork-commit-merge-web/pulls)
[](https://github.com/fork-commit-merge/fork-commit-merge-web/issues)
[](https://github.com/fork-commit-merge/fork-commit-merge-web/pulls)
[](https://github.com/fork-commit-merge/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.dev).
- [Features](#features)
- [Tech Stack](#tech-stack)
- [Local Development](#local-development)
- [Contributing](#contributing)
- [Questions](#questions)
- [License](#license)
- [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
- 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. Set up your environment variables locally. 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 GitHub authentication, you need to replace `GITHUB_ID` and
`GITHUB_SECRET` with your own 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.
- For GitHub API access, you need to create a personal access token:
- Go to your GitHub account settings.
- Navigate to "Developer settings" > "Personal access tokens" > "Tokens
(classic)" > "Generate new token".
- Select the necessary scopes (at minimum: `repo`, `read:user`,
`user:email`).
- Copy the generated token and use it for `GITHUB_TOKEN`,
`FCM_GITHUB_TOKEN`, and `NEXT_PUBLIC_GITHUB_TOKEN`.
- For Clerk authentication, you need to create a Clerk account and get your
API keys:
- Sign up at [Clerk.dev](https://clerk.dev/).
- Create a new application.
- Get your publishable key and secret key from the Clerk dashboard.
- Replace `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` and `CLERK_SECRET_KEY` with
your actual keys.
- 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 niko.hoffren@gmail.com
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file.
---
## List of Contributors
Massive thanks to all of these fine individuals who contributed to this project!