Skip to content

Fork of https://gitlab.com/betabreak/polispilot/polis modified to use it as an unauthenticated API from one's backend directly.

License

Notifications You must be signed in to change notification settings

zkorum/polis-wl

 
 

Repository files navigation

Pol.is as a blackbox API service called by one's backend

polis-community change

This a fork from the fork that:

  • correct various bugs (see the latest PRs)
  • extract the PGSQL database from the compose to an external DB
  • make authentication optional to interact with the API for creating users, conversations, opinions, votes
  • allow to use external conversation_id, user_id (mapped to ownername and users.hname) and opinion_id (mapped to unique comments.txt SQL column)
  • (work-in-progress) allow to delete comments/votes
  • see the Bruno API Collection for details

Initial REAMDE: 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

About

Fork of https://gitlab.com/betabreak/polispilot/polis modified to use it as an unauthenticated API from one's backend directly.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 45.3%
  • TypeScript 27.7%
  • Clojure 12.6%
  • SCSS 5.7%
  • Handlebars 4.0%
  • PLpgSQL 3.5%
  • Other 1.2%