This project has been moved to https://gitlab.com/jsangradorp/nikonikoapi
An API to manage a collection of Niko-Niko calendars.
See current spec in docs/ directory: OpenAPI format, or automatically generated by Hug
HUG framework is used for the API. SQLAlchemy and Marshmallow are used as ORM.
Python 3 mandatory.
It is a tool to very roughly measure the evolution of a team's emotional state. Others will explain it better than me:
- Niko-Niko calendar
- What is a Niko-Niko calendar?
- Team engagement with the Niko-Niko calendar
- How to Track the Team’s Mood with a Niko-Niko Calendar
- Niko-Niko calendar: Measuring the team's happiness
I used to run a colocated team, where we used a pen-and-paper Niko-Niko calendar to follow up on the team general satisfaction or dissatisfaction. Then I started to run a dis-located (as opposed to co-located) team and I was trying to find an online tool that could give me something similar. I didn't find it so I moved on to build my own. I really wanted it multi-platform so I decided to start with a simple API which now you are looking at.
3 ways to run more or less out of the box:
- Local:
LOCAL="y" JWT_SECRET_KEY="example-local-jwt-key" ./scripts/run.sh
- Docker:
[LOGLEVEL=DEBUG] [DO_BOOSTRAP_DB=1] JWT_SECRET_KEY="<YOUR_JWT_SECRET_KEY_OF_CHOICE>" docker-compose up
- External host (for example, virtual machine):
./scripts/deploy.sh [IP address of the host]
Since this uses cdist for deployment, you need to be able to ssh passwordless as root to the destination host for this to work.
See a list of environment variables and default values in
conf/etc/default/nikonikoapi.sample
-
server certificate and key (
localhost.crtandlocalhost.keyonly for development):openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout conf/etc/nginx/localhost.key -out conf/etc/nginx/localhost.crt -subj "/CN=example.com" -days 3650
See also for example this entry in Stack Overflow.
-
dhparams.pemopenssl dhparam -out dhparams.pem 2048
If the DO_BOOSTRAP_DB environment variable is set to y, example values
will be inserted in the DB on startup.
A user with several boards will be inserted, with username/email
john@example.com and password whocares.
NikonikoAPI is released under the GPL3 license. See the LICENSE file for more details.