Review Dashboard for individual
Admin Page Example : Repository Data
Admin Page Example : User Data
├── README.md
├── api-server
│ ├── controller
│ ├── routes
│ ├── app.ts (Express application setup)
│ ├── server.ts (Server startup script)
├── frontend
│ ├── App.tsx (React application setup)
│ ├── index.tsx (React application startup script)
│ ├── components
├── github-crawler
│ ├── index.ts (Crawler startup script)
│ ├── githubRestAPIRequest.ts (Github Rest API Request)
├── shared
│ ├── db
│ │ ├── entity
│ │ ├── service
│ ├── database.ts (Database setup)
- Node.js (>= 20.9.0)
- npm (>= 10.1.0)
- TypeScript
- PostgreSQL (15.3)
- Podman (>= 4.7.2)
- Podman-Compose (1.0.6)
- Grafana (10.0.0)
Make sure you have installed the prerequisites.
git clone https://github.com/ray5273/Github-Review-Dashboard-and-Alarm-Bot
npm install
cd db_deploy
podman-compose build
podman-compose up -d
cd dashboard_deploy
podman-compose build
podman-compose up -d
- GITHUB_TOKEN: Github token to access the Github API
- POSTGRES_USER: Postgres user name
- POSTGRES_PASSWORD: Postgres password
- POSTGRES_DB: Postgres database name
- POSTGRES_HOST: Postgres host
- HTTP_PROXY: HTTP proxy for the company network (optional)
- INTERNAL_GITHUB_HOSTNAME: Github Enterprise hostname
- INTERNAL_GITHUB_TOKEN: Github Enterprise token to access the Github API
GITHUB_TOKEN=
POSTGRES_USER=
POSTGRES_PASSWORD=
POSTGRES_DB=
POSTGRES_HOST=
HTTPS_PROXY=
INTERNAL_GITHUB_HOSTNAME=
INTERNAL_GITHUB_TOKEN=
ts-node github-crawler/src/index.ts
API server will run on port 8080 by default.
ts-node api-server/src/server.ts
Frontend server will run on port 3000 by default.
But you must set the port environment variable to 8081.
which is defined in the .env
file in the frontend directory.
cd frontend
npm install
npm start
ts-node github-alarm-bot/src/server.ts
- Create a new project
- Create a crawler to get the data from Github with the following information:
- PRs
- Reviews
- Comments
- Create a dashboard to show the data
- Select the dashboard framework or library
- PRs
- Reviews
- Comments
- Create an admin page to manage the data
- Newly added Users
- Newly added Repositories
- Delete Users
- Delete Repositories
- Internal Repository Management
- Create a Github bot to send the alarm message to the mattermost channel
- Create a bot account
- Send the alarm message to the mattermost channel