1
0
mirror of https://github.com/stonith404/pingvin-share.git synced 2024-11-05 07:20:13 +01:00
pingvin-share/CONTRIBUTING.md
2022-10-16 22:54:39 +02:00

2.7 KiB

Contributing

We would ❤️ for you to contribute to Pingvin Share and help make it better! All contributions are welcome, including issues, suggestions, pull requests and more.

Getting started

You've found a bug, have suggestion or something else, just create an issue on GitHub and we can get in touch 😊.

Submit a Pull Request

Once you created a issue and you want to create a pull request, follow this guide.

Branch naming convention is as following

TYPE-ISSUE_ID-DESCRIPTION

example:

feat-69-ability-to-set-share-expiration-to-never

When TYPE can be:

  • feat - is a new feature
  • doc - documentation only changes
  • fix - a bug fix
  • refactor - code change that neither fixes a bug nor adds a feature

All PRs must include a commit message with the changes description!

For the initial start, fork the project and use the git clone command to download the repository to your computer. A standard procedure for working on an issue would be to:

  1. git pull, before creating a new branch, pull the changes from upstream. Your master needs to be up to date.
$ git pull
  1. Create new branch from main like: feat-69-ability-to-set-share-expiration-to-never
$ git checkout -b [name_of_your_new_branch]
  1. Work - commit - repeat

  2. Before you push your changes, make sure you run the linter and format the code.

npm run lint
npm run format
  1. Push changes to GitHub
$ git push origin [name_of_your_new_branch]
  1. Submit your changes for review If you go to your repository on GitHub, you'll see a Compare & pull request button. Click on that button.
  2. Start a Pull Request Now submit the pull request and click on Create pull request.
  3. Get a code review approval/reject

Setup project

Pingvin Share consists of a frontend and a backend.

Backend

The backend is built with Nest.js and uses Typescript.

Setup

  1. Open the backend folder
  2. Duplicate the .env.example file, rename the duplicate to .env and change the environment variables if needed
  3. Install the dependencies with npm install
  4. Push the database schema to the database by running npx prisma db push
  5. Start the backend with npm run dev

Frontend

The frontend is built with Next.js and uses Typescript.

Setup

  1. Start the backend first
  2. Open the frontend folder
  3. Duplicate the .env.example file, rename the duplicate to .env and change the environment variables if needed
  4. Install the dependencies with npm install
  5. Start the frontend with npm run dev

You're all set!

Testing

At the moment we only have system tests for the backend. To run these tests, run npm run test:system in the backend folder.