Skip to content

Code Name: Rapperswil-Jona, Scrolliris carrell application

License

Notifications You must be signed in to change notification settings

scrolliris/scrolliris-carrell

Repository files navigation

Scrolliris Carrell

Code Name: Rapperswil-Jona

pipeline status coverage report

Overview

 , __                                            _
/|/  \                                       o  | |     /\
 |___/  __,    _    _   _   ,_    ,             | |    |  |  __   _  _    __,
 | \   /  |  |/ \_|/ \_|/  /  |  / \_|  |  |_|  |/ ----|  | /  \_/ |/ |  /  |
 |  \_/\_/|_/|__/ |__/ |__/   |_/ \/  \/ \/  |_/|__/    \_|/\__/   |  |_/\_/|_/
            /|   /|                                      /|
            \|   \|                                      \|

Rapperswil-Jona; carRell APPs for readER aS WebsItes pLatform rapperswil-JONA

The application of https://scrolliris.com/.

Repositories

Issues

https://gitlab.com/scrolliris/scrolliris-carrell/issues (GitLab.com)

Requirements

  • Python >= 3.6.6
  • PostgreSQL >= 9.6.3
    • hstore
    • plpgsql
    • (pg_stat_statements)
  • Node.js >= 8.11.4 (build)
  • GNU gettext >= 0.19.8.1 (translation)

Setup

% cd /path/to/rapperswil-jona

: use python\'s virtualenv
% python3.6 -m venv venv
% source venv/bin/activate
(venv) % pip install --upgrade pip setuptools

: Node.js (e.g. nodeenv)
(venv) % pip install nodeenv
(venv) % nodeenv --python-virtualenv --with-npm --node=8.11.4
: re-activate for node.js at this time
(venv) % source venv/bin/activate
(venv) % npm install --global npm
(venv) % npm --version
6.4.1

Then, check make help.

(venv) % make help
...

Dependencies

See Scrolliris Console.

Development

Use waitress as wsgi server.
Check Makefile

% cd /path/to/rapperswil-jona
% source venv/bin/activate

: set environment variables
(venv) % cp .env.sample .env

: install python packages
(venv) % make setup

: install node modules
(venv) % npm install --global rollup
(venv) % npm install --ignore-scripts

: run rollup
(venv) % make pack

(venv) % make serve

Migration

See Scrolliris Console.

Styling and Code Analysis

  • pycodestyle
  • pydocstyle
  • pylint
  • eslint

Python

(venv) % make vet:style
(venv) % make vet:lint

: run both
(venv) % make vet

for codequality check

: run codeclimate in docker
(venv) % make vet:quality

JavaScript

(venv) % npm install eslint -g

(venv) % eslint rollup.config.js
(venv) % eslint rapperswil-jona/assets

Deployment

Setup production environment.

Use CherryPy as wsgi server.

: run install and start server for production
(venv) % ./bin/serve --env production --config config/production.ini --install

: use Procfile (via `bin/start` command)
(venv) % honcho start

Docker

App Engine

: take latest sdk from https://cloud.google.com/sdk/downloads
% cd lib
(venv) % curl -sLO https://dl.google.com/dl/cloudsdk/channels/rapid/ \
  downloads/google-cloud-sdk-<VERSION>-linux-x86_64.tar.gz

: check sha256 checksum
(venv) % echo "CHECKSUM" "" ./google-cloud-sdk-<VERSION>-linux-x86_64.tar.gz \
  | sha256sum -c -
./google-cloud-sdk-<VERSION>-linux-x86_64.tar.gz: OK
(venv) % tar zxvf google-cloud-sdk-<VERSION>-linux-x86_64.tar.gz

: setup lib/ as a root for sdk
(venv) % CLOUDSDK_ROOT_DIR=. ./google-cloud-sdk/install.sh
(venv) % cd ../

Heroku

Testing

Run unit and functional tests. See also .gitlab-ci.yml.

(venv) % ENV=test make setup
: or manually install packages
(venv) % pip install -e ".[testing]" -c constraints.txt

: build assets
(venv) % make pack

: use make (unit tests and functional tests)
(venv) % make test

: run a test case
(venv) % ENV=test py.test -c config/testing.ini \
  test/route_test.py -k test_routing_to_robots -v

Check test coverage

(venv) % make test:coverage

CI

You can check it by yourself using gitlab-runner on local machine. It requires docker.

% ./bin/setup-gitlab-runner

: use script
% ./bin/ci-runner test

Links

See documents.

License

This project is distributed as various licenses by parts.

Scrolliris Carrell
Copyright (c) 2018 Lupine Software LLC

Documents

GFDL-1.3

The files in the rapperswil-jona/doc directory are distributed as GNU Free Documentation License. (version 1.3)

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".

Check the GNU Free Documentation License.

Images

CC-BY-NC-SA-4.0

The illustration and photos in this project are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Creative Commons License

Check the Legalcode.

Programs (Software)

AGPL-3.0

This is free software: You can redistribute it and/or modify
it under the terms of the GNU Affero 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 Affero General Public License for more details.

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

See LICENSE.

About

Code Name: Rapperswil-Jona, Scrolliris carrell application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published