Server-side application for the CHAOSS DEI Badging program, supporting both Project Badging (automated DEI.md scanning) and Event Badging (review-driven process via GitHub webhooks).
- TypeScript - Type-safe JavaScript
- TypeDI - Dependency injection
- routing-controllers - Decorator-based HTTP routing
- sequelize-typescript - TypeScript ORM
- Express - HTTP server
cd src
npm install
npm run configure # Interactive setup for .env
npm run dev # Development server with hot reloadsrc/
βββ shared/ # Shared code (types, services, providers, data-access)
βββ auth/ # Authentication module (GitHub/GitLab OAuth)
βββ project-badging/ # Automated DEI badge scanning
βββ event-badging/ # Review-driven event badging via webhooks
βββ scripts/ # CLI tools (configure.ts)
βββ app.ts # Express app configuration
βββ index.ts # Server entry point
| Endpoint | Method | Description |
|---|---|---|
/api/callback/github |
GET | GitHub OAuth callback |
/api/callback/gitlab |
GET | GitLab OAuth callback |
/api/badgedRepos |
GET | Get all badged repositories |
/api/repos-to-badge |
POST | Scan repos for DEI.md |
/api/event_badging |
POST | GitHub webhook for events |
/api/badged_events |
GET | Get all badged events |
See LICENSE file.