Database: Leverage multiple Database Adapters via TypeORM (Default: MySQL, PostgreSQL)
Base: Node.JS
Language: TypeScript
Framework: ExpressJS
API Design: RESTful, Stateless
API Documentation: OpenAPI (v3+)
Testing: Jest or Testy (To be explored further)
Deployment Target: Via Node.JS or container (Docker)
Auth
Method: Stateless JWT with Refresh Tokens (Short Login token Lifetime)
Middleware: PassportJS
Provider: Default: Internal user management (Password hashed via Argon2)
Response language: English
Frontend
Base: Node.JS
UI-Framework: Vue.js (v3+)
CSS-Framework: TO BE DEFINED (Bootstrap or Tailwind)
Deployment Target: Via Node.JS or container (Docker)
Client Target: Modern Browsers (Latest Chrome and FireFox)
Primary device target: Laptop/Desktop
Backend communication: Via the API
i18n Support (Main languages: German, English)
Features
Users and Permissions
Default Provider: Local user management
Group support (Including default groups)
Permissions
Predefined permissions
Granted to user or group
Permissions can be inherited
User permissions overwrite inherited permissions
Managed via API or Frontend
# Initial Meeting
## Backend
* Database: Leverage multiple Database Adapters via TypeORM (Default: MySQL, PostgreSQL)
* Base: Node.JS
* Language: TypeScript
* Framework: ExpressJS
* API Design: RESTful, Stateless
* API Documentation: OpenAPI (v3+)
* Testing: **Jest** or Testy (To be explored further)
* Deployment Target: Via Node.JS or container (Docker)
* Auth
* Method: Stateless JWT with Refresh Tokens (Short Login token Lifetime)
* Middleware: PassportJS
* Provider: Default: Internal user management (Password hashed via Argon2)
* Response language: English
## Frontend
* Base: Node.JS
* UI-Framework: Vue.js (v3+)
* CSS-Framework: TO BE DEFINED (**Bootstrap** or Tailwind)
* Deployment Target: Via Node.JS or container (Docker)
* Client Target: Modern Browsers (Latest Chrome and FireFox)
* Primary device target: Laptop/Desktop
* Backend communication: Via the API
* i18n Support (Main languages: **German**, English)
## Features
### Users and Permissions
* Default Provider: Local user management
* Group support (Including default groups)
* Permissions
* Predefined permissions
* Granted to user or group
* Permissions can be inherited
* User permissions overwrite inherited permissions
* Managed via API or Frontend
niggl
added spent time 1h2020-11-24 16:55:53 +00:00
philipp
added spent time 1h2020-11-24 16:56:02 +00:00
Deployment Target: Node.JS, delivered via container (Docker - Other container formats will follow)
Auth
Method: Stateless JWT with Refresh Tokens (Short Auth Token Lifetime)
Middleware: Custom
Provider: Internal user management (Password hashed via Argon2)
Response language: English
Frontend
UI-Framework: Svelte
CSS-Framework: Tailwind
Deployment Target: Bundeled to JS/HTML/CSS and delivered via container (Docker - Other container formats will follow)
Client Target: Modern Browsers (Latest Chrome and FireFox)
Primary device target: Laptop/Desktop
Backend communication: Via the JS lib
i18n Support (We translate to English and German ourselfes)
# Small Update
> Some Parts changed since our initial thought
## Backend
* Database: Leverage multiple Database Adapters via TypeORM (Default: PostgreSQL, MySQL, SQLite)
* Base: Node.JS
* Language: TypeScript
* Framework: Routing-Controllers with ExpressJS
* API Design: RESTful, Stateless
* API Documentation: OpenAPI (v3+)
* Testing: Jest
* Deployment Target: Node.JS, delivered via container (Docker - Other container formats will follow)
* Auth
* Method: Stateless JWT with Refresh Tokens (Short Auth Token Lifetime)
* Middleware: Custom
* Provider: Internal user management (Password hashed via Argon2)
* Response language: English
## Frontend
* UI-Framework: Svelte
* CSS-Framework: Tailwind
* Deployment Target: Bundeled to JS/HTML/CSS and delivered via container (Docker - Other container formats will follow)
* Client Target: Modern Browsers (Latest Chrome and FireFox)
* Primary device target: Laptop/Desktop
* Backend communication: Via the JS lib
* i18n Support (We translate to English and German ourselfes)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
We need to decide which techstack we want to use.
Initial Meeting
Backend
Frontend
Features
Users and Permissions
Small Update
Backend
Frontend