Skip to content

zkorum/polis-wl

 
 

Repository files navigation

Pol.is Whitelabel

Pol.is Whitelabel is a fork of Pol.is. Pol.is is a system for understanding what large groups of people think about an issue. Pol.is Whitelabel is a pared down version of Pol.is with the goals of separating out deployment code from application code, make the system more configurable and refactoring to make feature development more straightforward.

Key differences from Pol.is

The following things are different:

  • Heroku config removed
  • Bundlewatch removed
  • Maxmind integration removed
  • Stripe integration removed
  • Intercom integration removed
  • Project runs Node 18 (with the exception of server on Ubuntu)
  • Lots of vulnerable dependencies updated
  • Database setup has moved into its own directory
  • Started work reducing the file sizes
  • Working developer environment documented
  • Rapid setup of the development environment
  • Basic performance tests included (note this may get migrated out to deployment repo soon)

Deployment

We have three different scenarios for deployment

Testing

See e2e/README.md for instructions on running the end-to-end tests

Vulnerability scanning

Using Docker you can scan a built image using,

docker scout cves <image-name>:latest

For the math module, the root dependencies in deps.edn can be found by out by running

clojure -Stree

Architecture

  • database/ is migrations and config for the PostgreSQL database
  • server/ is the main Node.js server
    • connects to: database
    • connects to: file-server
  • math/ is the statistics service in Clojure
    • connects to: server
    • connects to: database
  • file-server/ is the service that serves the JS frontend apps:
    • client-admin/ is for conversation administrators
    • client-participation/ is for end-users
    • client-report/ is for detailed analytics reports

License

AGPLv3 with additional permission under section 7

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 46.4%
  • TypeScript 28.0%
  • Clojure 12.8%
  • SCSS 5.8%
  • Handlebars 4.1%
  • PLpgSQL 1.8%
  • Other 1.1%