mirror of
https://github.com/stonith404/pingvin-share.git
synced 2024-11-18 21:30:12 +01:00
docs: add contribution guide
This commit is contained in:
parent
cc17e7e641
commit
6fafa02246
96
CONTRIBUTING.md
Normal file
96
CONTRIBUTING.md
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
# 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
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Create new branch from `main` like: `feat-69-ability-to-set-share-expiration-to-never`<br/>
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git checkout -b [name_of_your_new_branch]
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Work - commit - repeat
|
||||||
|
|
||||||
|
4. Before you push your changes, make sure you run the linter and format the code.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run lint
|
||||||
|
npm run format
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Push changes to GitHub
|
||||||
|
|
||||||
|
```
|
||||||
|
$ git push origin [name_of_your_new_branch]
|
||||||
|
```
|
||||||
|
|
||||||
|
6. 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.
|
||||||
|
7. Start a Pull Request
|
||||||
|
Now submit the pull request and click on `Create pull request`.
|
||||||
|
8. 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](https://nestjs.com) 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](https://nextjs.org) 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.
|
28
README.md
28
README.md
@ -12,6 +12,7 @@ Demo: https://pingvin-share.dev.eliasschneider.com
|
|||||||
|
|
||||||
- Create a simple share with a link
|
- Create a simple share with a link
|
||||||
- No file size limit, only your disk will be your limit
|
- No file size limit, only your disk will be your limit
|
||||||
|
- Set a share expiration
|
||||||
- Optionally secure your share with a visitor limit and a password
|
- Optionally secure your share with a visitor limit and a password
|
||||||
- Dark mode
|
- Dark mode
|
||||||
|
|
||||||
@ -43,29 +44,4 @@ Just update the docker container by running `docker compose pull && docker compo
|
|||||||
|
|
||||||
## 🖤 Contribute
|
## 🖤 Contribute
|
||||||
|
|
||||||
You're very welcome to contribute to Pingvin Share!
|
You're very welcome to contribute to Pingvin Share! Follow the [contribution guide](/CONTRIBUTING.md) to get started.
|
||||||
Contact me, create an issue or directly create a pull request.
|
|
||||||
|
|
||||||
### Development setup
|
|
||||||
|
|
||||||
#### Backend
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
Loading…
Reference in New Issue
Block a user