- Notifications
You must be signed in to change notification settings - Fork5
Administration of timesheets and project budgets for small and medium organisations
License
dyne/Agiladmin
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A cross-platform application for payroll administration. Spreadsheetbased environment for processing timesheets through projectadministration, fit for use by small and medium organisations andenterprises.
Agiladmin is used internally at Dyne.org to document working hours,calculate budgets and pay co-workers based on monthly efforts.
Agiladmin accepts and rendersxlsx
files to ease the integration withthe workflow of expert financial admins without disrupting theirtooling. It adopts Git as a backend to synchronise the collection oftimesheets. It leverages the power of Clojure in data-centricapplications to allow easy generation and customisation of graphicsand reports related to personnel and projects.
Agiladmin should be considered software in ALPHA stage and for now isonly used internally at Dyne.org to manage research projects accordingto the EU Horizon 2020 financial guidelines.
Users should consider this a technological preview and Dyne.org staffmay or may not be able to help adopting this software at thisstage. We are working on more documentation and once in BETA stage wewill offer training and support.
There are two ways to start Agiladmin, one is using docker and isrecommended for development, another is locally using leiningen and isrecommended for production.
Since agiladmin requires dependencies including a mongodb server forthe authentication layer and the JVM it is handy to use docker to setit up for preview and for development. The procedure follows:
git clone https://github.com/dyne/agiladmingit clone https://github.com/dyne/docker-dyne-softwarecd docker-dyne-software/agiladmin./build
At this point the agiladmin docker is built on your system, tagged asdyne/agiladmin:latest
. To run it using as sourcecode the localdirectory of agiladmin, so that modifications can go live whilecoding, use:
./devel /home/user/path/to/agiladmin
This command will start the local copy of agiladmin source inside thedocker and make the port3000
reachable to connect from the host.
The source of agiladmin will still need some configurations in orderto activate projects and abudgets
repository with excel sheets andproject configurations. Refer to the next section for details.
If an instance of Agiladmin is already setup then it can be clonedlocally for testing and development simply going on theConfiguration
tab and communicating the ssh public key to the adminof the budgets git repository. Then Agiladmin should be configuredwith that git repository.
To start agiladmin is enough to have leiningen installed, then run:
lein ring server
This application expects a configuration file to be present in the base of its source directory, calledagiladmin.yaml
, example below:
# list of projects administered by agiladmin# for each name there must be an equivalent config file# in the configured budgets repository.# see below for an example project config fileprojects: -TINFOIL -DEVUAN -ADMIN# settings for the webserver running agiladminwebserver:anti-forgery:falsessl-redirect:falseport:8000host:localhostbudgets:# this is a git repository where all budgets are stored# agiladmin creates commits on the git and reads from itgit:ssh://git@git.onmy.org/admin/budgets# this is the name of the ssh private key authorised to# access the git repository above. If not present will be# generated by agiladmin, the public part available on its# web interface under the "config" sectionssh-key:id_rsa# this is where the budget git repo is cloned, relative to# the sourcecode folder of agiladminpath:budgets/source:# if automatic updates are activated, agiladmin will update# its code from this git repositorygit:https://github.com/dyne/agiladminupdate:no# authentication configuration (smtp and mongodb)just-auth:email-server:"mail.dyne.org"email-user:"xxxxxxxxxxxxxxxx"email-pass:"xxxxxxxxxxxxxxxx"email-address:"xxxxxxxxxxxxxxxx"email-admin:"xxxxxxxxxxxxxxxx"mongo-url:mongodb://localhost:27017/agiladminmongo-user:demomongo-pass:demo
Each project should also have its own configuration file, a commentedexample below:
# this is a small project example for agiladmin, to be placed# in the budgets repository and called with the same project# name as specified in the configuration, plus .yaml extensionDYNE:# date when the project startedstart_date:01-01-1999# duration in monthsduration:9999# average cost per hourcph:30# individual rates per hourrates:L.Blissett:40D.Maver:30# empty list of project taskstasks:[]
A more complex project may contain also tasks with descriptions, start dates, duration and paid person-months (pm). In such cases the projects will have a "gantt" chart rendered to indicate the progress. Here an example of such a configuration:
SOFTWARE:start_date:01-12-2016duration:36cph:46.66rates:L.Blissett:50D.Maver:43tasks: -id:T1.1text:Distributed architecture specificationsstart_date:01-12-2016duration:36pm:2 -id:T1.2text:Privacy Design Strategiesstart_date:01-12-2016duration:24pm:1 -id:T1.3text:Lean methodology - use cases and requirementspm:1start_date:01-12-2016duration:36 -id:T4.5text:Lean testing, continous integration, interoperabilitypm:2start_date:01-01-2018duration:24 -id:T5.1text:Pilots specifications and implementationpm:2start_date:01-07-2017duration:30 -id:T6.1text:Dissemination, Exploitation & Impact Assessment Strategypm:1start_date:01-12-2016duration:36 -id:T6.2text:Stakeholders engagement & co-creation methodologiespm:2start_date:01-12-2016duration:36 -id:T6.4text:Open Standardizationpm:1start_date:01-12-2016duration:36
Copyright (C) 2016-2019 Dyne.org foundation
Sourcecode written and maintained by Denis Roiojaromil@dyne.org
Designed in cooperation with Manuela Annibalimanuela@dyne.org
With reviews and contributions by Andrea D'Intinoandrea@dyne.org
This program is free software: you can redistribute it and/or modifyit under the terms of the GNU Affero General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU Affero General Public License for more details.You should have received a copy of the GNU Affero General Public Licensealong with this program. If not, see <http://www.gnu.org/licenses/>.
About
Administration of timesheets and project budgets for small and medium organisations