Skip to content

Welcome to Fork, Commit, Merge! Your one-stop resource hub for mastering GitHub contributions! This project is the repo of Fork, Commit, Merge -website.

License

Notifications You must be signed in to change notification settings

fork-commit-merge/fork-commit-merge-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fork, Commit, Merge - screenshot LICENSE Version 1.1.3 Issues PR:s Welcome Contributors Welcome GitHub repo size Security Rating Quality Gate Status

"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!

HTML HTMX CSS SASS Tailwind CSS Bootstrap ReScript CoffeeScript JavaScript TypeScript React Next.js Three.js Vite Vue.js Svelte Astro Angular Ember.js GraphQL Node.js NPM Yarn Nginx Apollo Express.js Electron.js Jest Jasmine Vitest C C++ C# .Net Blazor D F# Ada Java Kotlin Scala Groovy Python NumPy Flask Django Solidity Vyper Ruby Rails Elixir Crystal PHP Laravel Go Dart Flutter Swift React Native Julia Rust Haskell Lua Clojure OCaml LaTeX Lisp Fortran Pascal COBOL Erlang Smalltalk Zig R Nim MATLAB Octave SQL TLA+ Bash Perl Mojo ASM JSON YAML TOML XML CSV Markdown Docker Kubernetes Git

Find awesome badges for your project in this repository: markdown-badges

Table of Contents

This project is the repo of Fork, Commit, Merge -website.

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.

    git clone https://github.com/yourusername/fork-commit-merge-web.git
  2. Install the project dependencies.

    cd fork-commit-merge-web
    npm i
  3. Set up your environment variables. You will need to create a Github MongoDB Atlas cluster and an AWS S3 bucket for your local development environment.

    First, make a copy of the .env.local.example file and rename it to .env.local.

    cp .env.local.example .env.local

    You will need to replace the placeholder values in this file with your actual credentials.

    • For MongoDB 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 <NEXTAUTH_URL>/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.

    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:

git remote add upstream https://github.com/fork-commit-merge/fork-commit-merge-web.git

3. Check the remotes for this repository:

git remote -v

4. Take a pull from the upstream repository to your main branch to keep it at par with the main project:

git pull upstream main

5. Create your feature branch:

git switch -c my-new-feature

6. Add your changes:

git add files-that-you-changed

7. Commit your changes:

git commit -m 'Add some feature'

8. Push to the branch:

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 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.

List of Contributors

Massive thanks to all of the these fine individuals who contributed to this project!