added server and frontend section
also added a issue template for future template
This commit is contained in:
parent
643424bddb
commit
367f20b23f
36
.gitea/issue_template.yml
Normal file
36
.gitea/issue_template.yml
Normal file
|
@ -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
|
25
readme.md
25
readme.md
|
@ -15,6 +15,12 @@
|
||||||
- [Complex select](#complex-select)
|
- [Complex select](#complex-select)
|
||||||
- [Pair match](#pair-match)
|
- [Pair match](#pair-match)
|
||||||
- [Ordering](#ordering)
|
- [Ordering](#ordering)
|
||||||
|
- [Frontend](#frontend)
|
||||||
|
- [Themes](#themes)
|
||||||
|
- [Server](#server)
|
||||||
|
- [Backend](#backend)
|
||||||
|
- [Authentication](#authentication)
|
||||||
|
- [Data storage](#data-storage)
|
||||||
|
|
||||||
# Abstract
|
# 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)
|
- [Windows 95](https://github.com/themesberg/windows-95-ui-kit)
|
||||||
- [Neumorphism (default)](https://alexbsoft.github.io/win95.css/)
|
- [Neumorphism (default)](https://alexbsoft.github.io/win95.css/)
|
||||||
- [Material]()
|
- [Material (Bootstrap)](https://getbootstrap.com/)
|
||||||
|
|
||||||
# Server
|
# 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
|
## Load balancing
|
||||||
|
|
||||||
|
Kubernetes Load Balancer will be used to distribute load along the nodes.
|
||||||
|
|
||||||
# Staging
|
# 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
|
## Alpha
|
||||||
|
|
Reference in a new issue