A GitHub bot and Web UI for managing contributor license agreements.
Requirements:
- Node.js v13.3.0
- yarn (install with
npm install -g yarn)
A full setup requires also:
- a configured OAuth application in GitHub
- a configured GitHub application in GitHub
- an EdgeDB instance configured with schema from
dbschema/ .envfile populated with proper application settings- a web hook for pull requests
For more information on this first-time configuration, refer to the documentation in the project Wiki, at Configuration.
# install dependencies
yarn install
# run the development server
yarn nextThis project uses onion architecture, with the following namespaces:
constantscontains configuration constantscomponentscontains reusable React componentspagesis a folder handled byNext.js, with routes: pages and apipages-commonis a folder containing common code for pages and api used inNext.jsfront-endpublicis a folder handled byNext.js, containing static filesservice.domaincontains domain objects and interfaces for external servicesservice.datacontains concrete implementations of external servicesservice.handlerscontains business logic
Business logic is lousy coupled with the data access layer, since it is only
aware of interfaces, not concrete implementations of DAL logic. Everything
inside the service folder is abstracted from Next.js and should be
reusable with other web frameworks, unmodified.
For documentation, refer to the project Wiki.