Skip to content
This repository has been archived by the owner on May 22, 2019. It is now read-only.

Development Guide

Dustin Falgout edited this page Apr 10, 2017 · 3 revisions

Requirements

Install Python deps with: sudo pip install -r ./requirements.txt

Other Requirements (Hard)

These requirements couldn't be dropped without making substantial changes to the code.

  • Redis database listening on /var/run/redis/redis.sock
  • Nginx server (See config example)
  • Auth0 Developer Plan (Free)
  • Github account

Other Requirements (Soft)

These requirements could be dropped by making minimal code changes.

Process Management

Systemd is used to start/stop the application as well as to ensure it stays running (See service file examples).

Database Implementation

The implementation makes it so that the fact that a database is being used is not apparent in most of the codebase. Certain objects are backed by the database automatically. You just use them like any other object though. If you have questions about how the data is structured in redis, please contact me directly.

Where does the data come from?

The source of truth for package metadata is a github repository containing a PKGBUILD for every package that is managed by this application. Builds are initiated automatically based on commits to the github repo. This is done by configuring a webhook in the repo's settings.