This app provides an easy to user interface to have a simple CapTable (incl. options, ESOP etc.). Means enter company data, enter shareholders, have transactions for shareholders, print CapTable, edit company core data, enter capital increases. Supports a mulitple asset types for a company (named/registered share OR bearer share).
For setup here is a copy of the build commands for latest Ubuntu LTS
:
export DEBIAN_FRONTEND=noninteractive
export INSTAPAGE_TOKEN='REPLACEME'
export INSTAPAGE_ACCESS_TOKEN='REPLACEME'
export LC_ALL=en_US.UTF-8
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1397BC53640DB551
sudo apt-get update
sudo apt-get -q -y install python-virtualenv python-dev google-chrome-stable firefox xvfb wamerican exim4
virtualenv .ve
source .ve/bin/activate
pip install -r requirements.txt
pip install -r requirements_ci.txt
sudo -u postgres psql -c "CREATE ROLE darg WITH password 'darg' LOGIN;"
sudo -u postgres psql -c "ALTER ROLE darg WITH CREATEDB;"
sudo -u postgres psql -c "CREATE DATABASE darg WITH OWNER darg;"
python ./minify_static.py
cd site
cp project/settings/dev_local.dist.py project/settings/dev_local.py
python manage.py collectstatic --noinput --settings=project.settings.dev
Please also put latest chromedriver into site
directory as executable. App should then be up and running.
See https://github.com/patroqueeet/darg/blob/develop/dev_commands.md for details about compiling etc. Make sure bower
and npm
installs in darg.js
are being run befor development start.
Please work with pull requests (fork before). Every Pull request must contain:
- code change
- maintain current code pattern (comments, code structure) - it should not be possible to see who coded what
- use as much existing pattern as possible
- must be production ready, there is no QA, we expect your code to work out of the box with all technical risk handled
- don't add any technical debt. deliver perfect. do it now.
- work with linting for all languages. if you improve existing code, make a separate commit for it
- tests (prefer fast unittests but make sure you cover the risk added by your code, in case of doubt add selenium based test).
- proper commit message (read http://chris.beams.io/posts/git-commit/)
Collab guidelines:
- ask before you code, if you don't you will fail and your pull request will be rejected
Recommended .vimrc
for coding is:
" Pathogen load
filetype off
call pathogen#infect()
call pathogen#helptags()
filetype plugin indent on
syntax on
" http://stackoverflow.com/questions/1523482/vimrc-configuration-for-python
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set smartindent
syntax on
set listchars=tab:>-
set listchars+=trail:.
set ignorecase
set smartcase
" disable rope
let g:pymode_rope = 0
" ignore pep 8 errors
let g:pep8_ignore="E401"
let g:pymode_lint_config = '$HOME/pylint.rc'
" shortcuts
nmap j <Esc>:tabprev<CR>
nmap k <Esc>:tabnext<CR>
using plugins python-mode
, pathogen
, vim-isort
.
Please note that Isort
must handle the import formatting.
For debugging we replaced pdb
with pdb++
and also provide FunctionalTestCase._screenshot()
and FunctionalTestCase._handle_exception()
for Selenium Test debugging/failure handling.
This software is handled by GNU GENERAL PUBLIC LICENSE v2.0. Means most importantly all changes and additions must be shared publicly too.