Skip to content

Papyri is a tool to fetch, manage and own your data

License

Notifications You must be signed in to change notification settings

Wyntuition/papyri

Repository files navigation

papyri

Papyri is a tool to fetch, manage and own your data.

The idea for the name Papyri comes from the Villa of Papyri in the ancient Roman city of Herculean in present-day southern Italy, which had a fabled library with a world-class collection of papyri, or scrolls, of great knowledge.

Overview

See this diagram for an overview of the functionality.

Technical Overview

It is a monorepo, consisting of API and UI microservices.

The API is a Micronaut, Java, and Gradle microservice, and the UI is a very stripped-down React app.

It is written using functional reactive programming (FRP) using Java, Vavr, RxJava and JavaScript, and RxJs.

It is deployable onto a standalone Linux server with Docker (JVM, Nginx containers), or a Kubernetes. It includes a development environment using Kubernetes as well.

Getting Started

  1. Clone this repo and cd papyri.

  2. Install Java (Install SDKMan then run sdk install java)

  3. For Spotify, register the app to get a client ID and secret to use

    1. Ensure the app has access to these via environment variables:
      SPOTIFY_CLIENT_ID=<ENTER>
      SPOTIFY_CLIENT_SECRET=<ENTER>

Start the API

  1. cd api
  2. Build and run: ./gradlew build run or via the Gradle pane in IntelliJ (recommended). View the API via Swagger.

Start the UI

  1. Navigate to the ui-pure/index.html file

Deployment

The plan is to use Kubernetes to closely mirror the development environment from production (within reason!). For now, NGINX on a Linux box will be used.

A GitOps-style setup with ArgoCD will be evaluated for Kubernetes.

Contributing

//todo

Development Norms

//todo

Code of Conduct

//todo

Reference

Built using

  • Micronaut
  • Bare-bones React

React Documentation

Micronaut 2.4.0 Documentation


Feature http-client documentation

About

Papyri is a tool to fetch, manage and own your data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published