Loading repository data…
Loading repository data…
aitiotekt / repository
A experimental github data analysis solution. Group project of comp-3002, 2018 fall, hitsz.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Minellius, a experimental github data analysis solution, which designed to combine data collection, persistence, integration, analysis, visualization, real-time monitoring, trend tracking, originating from a group project of COMP-3002, 2018 fall, HITsz.
Minellius aims to help users understand the history, current, trend, ups and downs of github and even the open source world, enhance the sense of the times and the cultural aesthetics of the community; adjust the path of developers' learning and self-improvement to better integrate and participate in the development of community resources and culture.
Crawl data from Gharchive and Github Api, then Aggregate, store, and visualize them.
Current Snapshot
Period Snapshot
From Binary (Recommended)
Please see release page, and download the latest version for your platform. By default, we provide windows version (portable exe) and linux version (AppImage). And because of project deadline limitation, we only provide 1280x720px client.
From Source Code (Not Recommended)
client directory and install the dependencies.Sure, you need node.js environment and avaiable network (for china users).cd client
npm install
# auto select suitable platform (recommended)
npm run electron:local
# or manually select platform
npm run electron:windows
npm run electron:linux
npm run electron:mac # no test
client/release directory, then copy and use it.From Source Code To Dev (Only to developers)
Again, install then start hot-reload dev server on http://localhost:4200 with electron. If you need chrome devtools, edit client/src/main.ts, set devTools to be true and restart it.
cd client
npm install
npm run start
Important: Target server of our client has been set as our server, if you need deploy your server, you should edit it in the client source and rebuild the client as well.
With Docker-compose (Recommended)
Sure, you need docker and docker-compose environment.
First, copy docker-compose.sample.yaml to docker-compose.yaml and edit environment variables in it or export them to your current shell.
Copy monitor/.docker-alertd.sample.yaml to monitor/.docker-alertd.yaml. Edit alert email information in it.
- Optional: We recommend postgresql database to deploy our service, if you use it, you can create a new database and import init tables from
deploy/database/postgresql/minellius.sql. Then you can skip later database import.
- Optional: Because of huge amount of data, our 100GB database has no more space, so we cancel its auto start function in docker mode. To crawl period data, you should manually edit
crawler/Dockfileand addcrawler/src/go.pyto the cmd field. For new fishs to docker or needing more information, see Dockerfile Reference.
docker-compose build
docker-compose up
Waiting minellius-server container init the database tables, you need import init insert data from deploy/database/common. If you use postgresql, you can easily import all (see step 3) .sql files, else you need manually import one by one now.
If you need https and http2.0, install and start a nginx web server, copy our configuration file to its vhost directory, editting to fit yourself. And if you need free https cert, visit Let's encrypt.
Manually Deploy (Not Recommended)
Important: if you insist on manually deployment, you will lose the automatic email alert, and the automatic restart of the crawler will depends all on the third-party monitoring tool you use.
docker-compose.sample.yaml environments fields.
- Optional: We recommend postgresql database to deploy our service, if you use it, you can create a new database and import init tables from
deploy/database/postgresql/minellius.sql. Then you can skip later database import.
minellius-server, ensuring you have node.js installed.cd server
npm install
npm run start:prod
# or for developement use
npm run start:dev
database import - waiting minellius-server container init the database tables, you need import init insert data from deploy/database/common. If you use postgresql, you can easily import all (see step 3) .sql files, else you need manually import one by one now.
minellius-crawler, ensuring you have basic python 3.6+ tools installed. And you need daemon tools to help you run them as services. Without docker, we recommend pm2.
cd crawler/
pip install -r requirements.txt
cd src
python current.py
# if you need period
python go.py
| Windows | Linux | Mac |
|---|---|---|
| 10+(7+ possible) | 3.20+ With AppImage | Need manually build, no test now |
More languages are coming soon...
| Electron | Angular | NG-Zorro | Nestjs | Docker |
|---|
client/src/app/**/*.component.tsclient/src/app/providers/*.service.tsclient/src/app/dtos/*.dto.tsclient/src/app/functools/*.functool.ts & innerCodeclient/src/app/directives/*.directive.tsclient/src/app/interfaces/*.interface.ts & innerCodeclient/src/app/animations/*.animations.tsclient/src/app/**/*.scss & innerCodeclient/src/app/**/*.module.tsclient/src/app/app-routing.module.ts & routeService & routerServiceclient/src/app/guards/auth.guard.tsclient/src/app/components/current*.* & client/src/app/providers/current.service.tsclient/src/app/components/period*.* & client/src/app/providers/period.service.tsclient/src/app/componets/log*.* & client/src/app/providers/user.service.ts & client/src/app/components/control.component.tsclient/src/app/components/helperTranslateService & src/app/providers/custom-translate.service.ts & src/assets/i18n/*.jsonsrc/app/components/{home,video}.components.*src/assets**/*.spec.tsmain{.ts,.js} | index.htmlserver/src/auth/**/* & server/src/role/**/*server/src/role/**/*server/src/data/**/*server/src/database/**/* & deploy/database/* & **/*.entities.ts & TypeOrmModule & **/*.service.ts**/*-config.interface.ts && && environments variables & ...**/*-config{.*}**/*{.json,.yaml,.yml}minellius.nginx.sample.conf + nginx proxy passmonitor/.docker-alertd.yaml + docker-alertd + `docker-