diff --git a/.gitea/issue_template.yml b/.gitea/issue_template.yml new file mode 100644 index 0000000..3fb4af4 --- /dev/null +++ b/.gitea/issue_template.yml @@ -0,0 +1,36 @@ +name: Feature request +about: File a feature request to be embedded into the documentation +title: "[FEATURE]: " +body: + - type: textarea + id: feature-description + attributes: + label: What feature would you like to add? + description: Describe carefully what you want to add to the documentation. + placeholder: It'd be great if the frontend had.... + validations: + required: true + + - type: dropdown + id: area + attributes: + label: What part of the software does this affect? + options: + - Frontend theme + - Frontend quality of life + - Frontend functionality + - Backend + - Authentication + - Phone client + - Desktop client + - Backend quality of life + - Technologies + validations: + required: true + - type: checkboxes + id: not-bloat + attributes: + label: Are you sure this will route us to a brighter future? + options: + - label: Yes I think this will have an impact for the better + required: true diff --git a/readme.md b/readme.md index 45ab94b..a4c525b 100644 --- a/readme.md +++ b/readme.md @@ -15,6 +15,12 @@ - [Complex select](#complex-select) - [Pair match](#pair-match) - [Ordering](#ordering) +- [Frontend](#frontend) + - [Themes](#themes) +- [Server](#server) + - [Backend](#backend) + - [Authentication](#authentication) + - [Data storage](#data-storage) # Abstract @@ -119,14 +125,29 @@ The frontend will allow users to select from a curated list of themes so they ca - [Windows 95](https://github.com/themesberg/windows-95-ui-kit) - [Neumorphism (default)](https://alexbsoft.github.io/win95.css/) -- [Material]() +- [Material (Bootstrap)](https://getbootstrap.com/) # Server -The server will be written in Java more precisely SpringBoot. It will be broken down to microservices for easy _vertical_ scaling. For authentication Keycloak will be used to minimize security holes. Each part of the program will be broken down into microservices that later can be deployed using Kubernetes. +## Backend + +The server will be written in Java more precisely SpringBoot. It will be broken down to microservices for easy _vertical_ scaling. +Vertical scaling also allow for redundancy and 99.99% uptime as services can be updated one by one, or updates can be pushed accordingly so that inactive nodes will get the release version and get prioritized. Then older nodes will eventually die off and get updated. + +## Authentication + +For authentication Keycloak will be used to minimize security holes. Each part of the program will be broken down into microservices that later can be deployed using Kubernetes. + +## Data storage + +For storing data PostgreSQL will be used as it is one of the most performant databses out there. For object storage S3 [garage](https://garagehq.deuxfleurs.fr/) will be used as it is geo-located and really easy to deploy. ## Load balancing +Kubernetes Load Balancer will be used to distribute load along the nodes. + # Staging +In this section the documentation will explain how the application will be built over its lifetime. As this is a massive project, developers need to think thru their decisions on choosing the features and technologies which the application will be built upon. Since LearningPulse will employ many features it's only one way to get started. And that is to start with the bear minimum to get the foundation laying. + ## Alpha