Giter Club home page Giter Club logo

mfgd's Introduction

MFGD

The "Mildly Friendly Git Display" team project by LB01 - Team 1B.

MFGD is a Git viewer to inspect and publicise Git repositories. It implements web-based user authentication and permissions to supports private repositories for repository access management. MFGD must be bootstrapped manually by creating an initial administrator (see installation instructions below). MFGD was implemented using Python and Django with minimal dependencies.

WARNING: Support for Windows is a best-effort basis which may present stability and deployment issues; MFGD was designed for deployment on a Unix-like environment (MFGD was developed under Linux).

Deployment

Installation

Python 3.7+ and Git must be installed and in your PATH (it is recommended that Windows users install Git BASH to support unit testing). Install using the below command (regular git clone will not clone submodule dependencies).

$ git clone --recurse-submodule https://github.com/kukrimate/mfgd

If the repository was cloned without retrieving submodules then run the below command.

$ git submodule update --init mpygit

Move into the cloned repository then install Python dependencies.

$ python3 -m pip install -r requirements.txt --user

Execution

MFGD must be bootstrapped to create the initial administrator account. If you are deploying MFGD for yourself then run.

$ python3 bootstrap.py

Otherwise, if you are deploying MFGD for demonstration purposes then setup placeholder data (this will clone external repositories).

$ python3 population_script.py

After installation and bootstrapping then run the below and browse to http://localhost:8000.

$ python3 manage.py runserver

(see python3 manage.py --help to specify address and port and other configurable options).

Unit Tests

Warning: Unit tests only work under Unix-like environments (including Git BASH) with the previously mentioned prerequisites.

Execute

$ ./test.sh

to setup and execute the unit tests.

External Sources

jQuery is used for the repository management panel which is requested from the Google CDN. Git repositories are interacted with on the local filesystem using mpygit (a module developed internally). Pygments is used for syntax highlighting. Django is the overarching web framework for implementing MFGD.

mfgd's People

Contributors

kukrimate avatar b-irb avatar paulbeka avatar weiyiguoyoyo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.