A web application for analyzing GitLab repositories.
Built for Simon Fraser University course CMPT 373.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
First of all, download and install Node.js. Version 14.7.0 LTS
or higher is recommended.
Then, download and install Python 3. Version 3.6
or higher is recommended.
Clone directory:
$ git clone [email protected]:gitlab-analyzer/gitlabanalyzer.git
Frontend:
# Change directory:
$ cd gitlabanalyzer/client/
# Installation:
$ npm install
# Start client server:
$ npm start
Backend:
# Change directory:
$ cd gitlabanalyzer/server/
# Installation:
$ pip3 install
# Start backend server:
$ python3 app.py
Then navigate to http://localhost:6789/ on your browser.
Make sure you have installed docker and docker-compose on your computer
Clone directory:
$ git clone [email protected]:gitlab-analyzer/gitlabanalyzer.git
Run:
# Change directory:
$ cd gitlabanalyzer/
# Run:
$ ./start.sh
# Or if you need sudo previleges:
$ sudo bash ./start.sh
Then navigate to http://localhost:6789/ on your browser.
You might need to wait a couple minutes for everything in docker to be loaded.
👉 Try it here.
Iteration 1:
- Token based authentication
- Repository listings
- Float bar
- Overview page
- MR & Commits page
- Issues & Reviews
- Config
Iteration 2:
- Score Calculation 💯
- Merge Requests & Commit Ignoring
- Refactored Overview graphs
- Issues & Reviews
- Initial Config & App Config
- Search Repo
- REST API v2 Finished! 🚀
- Batch Processing (UI Only)
- Code Diff Page
- Export Reports
Iteration 3:
- Issues & Reviews
- Config
- Batch Processing
- REST API v3 Finished! 🚀
- Code Diff Page
- server (Where the backend code is stored, python flask is used as the backend server)
- interface (Contains all the interface files)
- manager (Contains all the manager files)
- model (Contains our data class for commits, mergre requests etc.)
- test (Contains all the test and unittest files)
- app.py (Main server file)
- API_example_response (Stores all the API routes and their example response body)
- client (Where the front-end client code is stored, reactjs is used)
- public
- src
- components
- context
- pages
- public
- various files
- various docker files for building and deploying
This software uses the following open source packages: