Labplaner is a web application specifically build for the Life-Science Lab Heidelberg.
It combines multiple polls into one to avoid conflicts and provides you with an optimal date for the next meeting.
- Python >= 3.6
- PostgreSQL or SQLite
- redis
You might want to use virtualenv
to set up a local development enviroment:
# install virtualenv
pip3 install virtualenv
# .. or pip or python -m pip or python3 -m pip
# create a virtual enviroment
virtualenv venv
. venv/bin/activate
Install dependencies:
pip install -r requirements.txt
Inside the config
folder, you need the following files:
base.cfg
for your base configuration, that is shared acrossdev
,test
andprod
dev.cfg
for your development specific configurationtest.cfg
for your test specific configurationprod.cfg
for your production specific configurationsecret.cfg
(optional) for secrets NEVER INCLUDE THIS IN YOU COMMIT
You can use the secret-template.cfg
to create your own secret.cfg
configuration.
You can change the default location of those config files using the following enviroment variables:
BASE_CONFIG
(default:config/base.cfg
)CONFIG
(default:config/dev.cfg
)TEST_CONFIG
(default:config/test.cfg
)SECRET
(default:config/secret.cfg
)
Additional enviroment variables:
ENV
(default:development
, can be eitherdevelopment
,test
,production
)
Make sure to run redis-server
and your database implementation, then run huey and the app:
# tasks:
huey_consumer run_huey.huey
# main application:
python run.py
We use unittest
for testing the application.
Pull requests are alyways welcome! Feel free to fork the project and improve it.
Copyright 2018-2019 Life-Science Lab [email protected]
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.