Giter Site home page Giter Site logo

ukshub's Introduction

UksHub

UksHub is web based VCS, project management and collaboration tool. GitHub's twin brother.

Available on Docker Hub

example workflow example workflow

docker pull djolewalker/ukshub

Team 3

Contributor Full name Student Id
erosdavid David Ereš R2 36/2021
JSTheGreat Jovan Svorcan R2 21/2021
djolewalker Dimitrije Žarković Đolai R2 17/2021

Model

Current version of class diagram class diagram

Advanced search metamodel

TextX metamodel used for query string parsing advanced search metamodel

Setup:

Clone repo:

git clone https://github.com/djolewalker/UksHub.git
cd UksHub

Create venv:

# Create virtual environment
python -m venv venv

# Start virtual environment
.\venv\Scripts\activate

If you have problem with executing permissions on windows run next command as admin in power shell

Set-ExecutionPolicy RemoteSigned

Run locally:

You will need MySQL server (e.g. WAMP). When you have MySql running on your device execute scripts/create_db_local.sql script. When database is ready we can migrate data.

# Migrate data
(venv)> pip install -r requirements.txt
(venv)> python manage.py makemigrations
(venv)> python manage.py migrate

Run server with next command:

(venv)> python manage.py runserver

App will be running on django's default port http://localhost:8000/

Run with docker:

You will need docker installed on your machine.

# Run docker compose from root folder (ukshub) to run docker file
# Be patient first time
docker-compose up --build
# Follow instructions in docker-compose.yml file to run container from image on DockerHub
# Run docker compose with --force-recreate parameter to rebuild container from remote image
docker-compose up --build --force-recreate

App will be running on http://localhost:8083/

Git server

Git server is implemented with Gitolite. Clone repo is also available through http and git protocols.

# Upload your public key trough application to be able to work with repo via SSH protocol
git clone ssh://[email protected]:2222/{user}/{repo-name}.git

# Http and git protocols
git clone http://127.0.0.1:8083/{user}/{repo-name}.git
git clone git://127.0.0.1:9418/{user}/{repo-name}.git

To work with app locally do next:

  1. Create bare repository locally on your pc

    mkdir git-admin-dev
    cd git-admin-dev
    git init --bare
    
  2. Set GIT_ADMIN_REMOTE to bare admin repository absolute path in django dev settings

    ...
    GIT_ADMIN_REMOTE = "D:\git-admin-dev"
    ...
    
  3. Clone repo to project

    git clone D:\git-admin-dev
    
  4. Create initial file structure

    cd git-admin-dev
    
    mkdir conf
    cd conf
    echo > gitolite.conf
    
    # go back to git-admin-dev folder
    cd ..
    mkdir keydir
    cd keydir
    echo > example.pub
    
  5. Push initial setup to repo

    git add *
    git commit -m "Initial setup"
    git push
    

ukshub's People

Contributors

djolewalker avatar erosdavid avatar jsthegreat 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.