3.2 KiB
Contributing
We're so excited you're interested in helping with Authorizer! We are happy to help you get started, even if you don't have any previous open-source experience 😊
New to Open Source?
- Take a look at How to Contribute to an Open Source Project on GitHub
- Go through the Authorizer Code of Conduct
Where to ask questions?
- Check our Github Issues to see if someone has already answered your question.
- Join our community on Discord and feel free to ask us your questions
As you gain experience with Authorizer, please help answer other people's questions! 🙏
What to work on?
You can get started by taking a look at our Github issues
If you find one that looks interesting and no one else is already working on it, comment on that issue and start contributing 🙂.
Please ask as many questions as you need, either directly in the issue or on Discord. We're happy to help!🙌
Contributions that are ALWAYS welcome
- More tests
- Improved Docs
- Improved error messages
- Educational content like blogs, videos, courses
Development Setup
Prerequisites
- OS: Linux or macOS or windows
- Go: (Golang)(https://golang.org/dl/) >= v1.15
Familiarize yourself with Authorizer
Project Setup for Authorizer core
- Fork the authorizer repository (Skip this step if you have access to repo)
git clone https://github.com/authorizerdev/authorizer.git
cd authorizer
cp .env.sample .env
. Check all the supported env here- Build the code
make clean && make
Note: if you don't have
make
, you cancd
intoserver
dir and build using thego build
command - Run binary
./build/server
Testing
Make sure you test before creating PR.
If you want to test for all the databases that authorizer supports you will have to run mongodb
& arangodb
instances locally.
Setup mongodb & arangodb using Docker
docker run --name mongodb -d -p 27017:27017 mongo
docker run --name arangodb -d -p 8529:8529 -e ARANGO_ROOT_PASSWORD=root arangodb/arangodb:3.8.4
Note: If you are not making any changes in db schema / db operations, you can disable those db tests here
If you are adding new resolver,
- create new resolver test file here
Naming convention filename:
resolver_name_test.go
function name:resolverNameTest(s TestSetup, t *testing.T)
- Add your tests here
Command to run tests:
make test