Git Product home page Git Product logo

925r's Introduction

ninetofiver

Build Status Coverage Status Documentation Status GitHub issues license

ninetofiver (or 925r) is a free and open source time and leave tracking application.

Installation

Create and activate a virtual environment:

python3 -m virtualenv -p python3 ninetofiver_venv
source ninetofiver_venv/bin/activate

Install build dependencies:

apt-get install -y python-dev libldap2-dev libsasl2-dev libssl-dev

Install the application:

python setup.py install
pip install -r requirements.txt

Usage

  1. Run python manage.py migrate to create the models.

  2. Run python manage.py createsuperuser to create an admin user

Running (Docker)

Running the command below starts linked docker containers running OpenLDAP and ninetofiver at http://127.0.0.1:8888. You may need to install docker and docker-compose first.

Note: Running this application using Docker should only be done when developing locally, if at all.

docker-compose -f ./scripts/docker/docker-compose.yml up

Running (development)

Running the command below starts a development server at http://127.0.0.1:8000.

python manage.py runserver

Running (production)

Running the command below starts a server using the production configuration at http://127.0.0.1:8000.

Note: The insecure flag is used to allow the server to serve static files.

python manage.py runserver --configuration=Prod --insecure

Configuration

Since this application is built using Django, you can configure the settings which will be loaded using the environment variables DJANGO_SETTINGS_MODULE (defaulting to ninetofiver.settings) and DJANGO_CONFIGURATION (defaulting to Dev).

The application will also attempt to load a YAML configuration file from a location specified using the environment variable CFG_FILE_PATH (defaulting to /etc/925r/config.yml) and use the resulting data to override existing settings.

For example, if you wanted to override the secret key used for production you could use the following configuration:

# Use your own secret key!
SECRET_KEY: mae3fo4dooJaiteth2emeaNga1biey9ia8FaiQuooYoac8phohee7r

Testing

Run the test suite:

python manage.py testninetofiver

Documentation

Generate the docs:

pip install sphinx
sphinx-apidoc -e -f -a -d 2 -o docs ninetofiver ninetofiver/migrations
cd docs && make html && cd ../

Database Structure

Database ERD

License

See LICENSE

ninetofiver (925r): a free and open source time and leave tracking application.
Copyright (C) 2016 Kalman Olah

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the 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 of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

925r's People

Contributors

bramver avatar kalmanolah avatar raskas avatar

Watchers

 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.