2.0 KiB
Contributing
I am happy that you want to contribute to Pocket ID and help to 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 protectionWhere
TYPEcan 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 formatto format the code
Setup project
Pocket ID consists of a frontend, backend and a reverse proxy.
Backend
The backend is built with Gin and written in Go.
Setup
- Open the
backendfolder - Copy the
.env.examplefile to.envand change theAPP_ENVtodevelopment - Start the backend with
go run cmd/main.go
Frontend
The frontend is built with SvelteKit and written in TypeScript.
Setup
- Open the
frontendfolder - Copy the
.env.examplefile to.env - Install the dependencies with
npm install - Start the frontend with
npm run dev
You're all set!
Reverse Proxy
We use Caddy as a reverse proxy. You can use any other reverse proxy if you want but you have to configure it yourself.
Setup
Run caddy run --config Caddyfile in the root folder.
Testing
We are using Playwright for end-to-end testing.
The tests can be run like this:
- Start the backend normally
- Start the frontend in production mode with
npm run build && node build/index.js - Run the tests with
npm run test