Techstack #1

Closed
opened 2020-11-24 16:09:11 +00:00 by niggl · 2 comments
Owner

We need to decide which techstack we want to use.

We need to decide which techstack we want to use.
niggl added this to the Initial Preparations milestone 2020-11-24 16:09:17 +00:00
niggl self-assigned this 2020-11-24 16:09:28 +00:00
philipp was assigned by niggl 2020-11-24 16:09:28 +00:00
Author
Owner

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
# 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 2020-11-24 16:55:53 +00:00
1h
philipp added spent time 2020-11-24 16:56:02 +00:00
1h
Author
Owner

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)
# 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)
Sign in to join this conversation.
No project
No Assignees
1 Participants
Notifications
Total Time Spent: 2 hours
philipp
1 hour
niggl
1 hour
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: lfk/org#1
No description provided.