Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mgautam98/midway-hack
https://github.com/mgautam98/midway-hack
Last synced: 1 day ago
JSON representation
- Host: GitHub
- URL: https://github.com/mgautam98/midway-hack
- Owner: mgautam98
- Created: 2020-07-09T19:17:38.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2020-07-12T23:03:03.000Z (about 4 years ago)
- Last Synced: 2023-07-31T06:24:41.508Z (about 1 year ago)
- Size: 23.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README-OLD.md
Awesome Lists containing this project
README
# MLH Fellowhip Contribution Report
The idea is to generate an overall report for MLH Fellowhip contributions.
The App will generate a Markdown/PDF report which will contain- User Info
- Repositories Contributed to
- Pull requests made
- Commits made
- Standup notes
- Fellows collaborated withThe app will have following components
![Architecture](assets/contrib-arch.svg)
- User Service:
- We'll use Strapi to manage authentication/authorization.
- Admins can add new pods and repositories the pod contributes to
- Store user profile data
- Will use SQLite Database (Don't want to host another Database)- Data Collecting Service
- Finds commits, discussion comments, PRs info of a user using GitHub Rest API
- Returns the relevant info, i.e contributions related to the repositories the Pod maintaines- API Gateway
- Will use Nginx for routing request to services- Frontend
- VueJs Frontend, clean and simple
- Login using GitHub
- Generate Report- DNS
- Will use cloudflare DNS
- Advantage of minified JS,CSS and Cache, less load on serverIf time prmits we will add the following to App
![Architecture](assets/contrib-arch-2.svg)
- In-memory database for Caching
- Will use Redis
- Store user infor for 24 Hrs, so we won't have to make API requests to GitHub- Message Queue
- Since GitHub has limit on API requests better to maintain a message queue for requests
- serve requests one by one
- Use RabbitMQ