Skip to main content

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

Before you submit the pull request for review please ensure that

  • The pull request naming follows the Conventional Commits specification:

    <type>[optional scope]: <description>

    example:

    feat(share): add password protection

    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
  • Your pull request has a detailed description

  • You run npm run format to format the code

Don't know how to create a pull request? Learn how to create a pull request
  1. Create a fork of the repository by clicking on the Fork button in the Pingvin Share repository

  2. Clone your fork to your machine with git clone

$ git clone https://github.com/[your_username]/pingvin-share
  1. Work - commit - repeat

  2. 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
  3. Now submit the pull request and click on Create pull request.
  4. 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. Install the dependencies with npm install
  3. Push the database schema to the database by running npx prisma db push
  4. Seed the database with npx prisma db seed
  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. Install the dependencies with npm install
  4. 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.