Thank you for your interest in contributing to Parcelo! Please read below for development setup steps.
The recommended and supported development environment for Parcelo is Intellij IDEA (the community edition is fine). You will also need to install the following tools:
- npm
- protoc
- minio
This repository comes with convenience IDEA run configurations to ease development. However, you will need to configure a few things yourself. After installing IDEA and cloning the repository, follow the steps below to get started.
- Open the project in IDEA and install the required EnvFile plugin as prompted.
- Navigate to your GitHub developer settings and click "Register a new application."
- Set the "Authorization callback URL" field to
http://localhost:8080/auth/github/callback
. Fill in the other fields with whatever you like. - Click "Register application."
- Copy the client ID from the resulting page into a file named
.env
with the contentsGITHUB_OAUTH2_CLIENT_ID=${client_id}
, replacing${client_id}
with your client ID. - Click "Generate a new client secret" and copy the secret into a new line in
.env
with the contentsGITHUB_OAUTH2_CLIENT_SECRET=${client_secret}
, replacing${client_secret}
with your client secret. - Navigate to
https://api.github.com/users/${username}
where${username}
is your GitHub username. Copy theid
field into a new line in.env
asDEBUG_USER_GITHUB_ID=${id}
where${id}
is the ID you copied. - Start MinIO with
minio server
- Log in to the MinIO console and create a new access key. Copy the access key ID and secret access
key into
.env
asS3_ACCESS_KEY_ID
andS3_SECRET_ACCESS_KEY
respectively. - TODO: Add secrets for private storage bucket
You should now be able to run the console in IDEA by selecting the "console" run configuration and running the project.
The environment variables in the included IDEA run configurations may be modified as needed. However, we don't recommend doing this unless you know what you're doing. The defaults should work fine for most use cases.
Contributing to Parcelo requires signing a Contributor License Agreement (CLA). To sign Parcelo's CLA, make a PR, and our CLA bot will direct you.