Structure Web Application Framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Alice Gaudon caae753d74 Allow users to change their username every configurable period of time 4 days ago
config Allow users to change their username every configurable period of time 4 days ago
src Allow users to change their username every configurable period of time 4 days ago
test Allow users to change their username every configurable period of time 4 days ago
views Allow users to change their username every configurable period of time 4 days ago
.eslintrc.json eslint: add no-floating-promises 4 months ago
.gitignore .gitignore: add config/local.* 1 month ago
LICENSE Add license 6 months ago
README.md Rename project to swaf 3 months ago
jest.config.js Add many eslint rules and fix all linting issues 5 months ago
package.json Update repository URL 6 days ago
tsconfig.json Fix published npm package folder structure 1 month ago
tsconfig.test.json Add many eslint rules and fix all linting issues 5 months ago
yarn.lock Upgrade dependencies 1 week ago

README.md

Structure Web Application Framework

A NodeJS TypeScript web application framework (duh).

/!\ Still in development! There are not near enough tests /!\

Use at your own risk. Also please feel free to contribute with issues, bug reports and pull requests.

Features

Application building

  • Model, View, Controller
  • Uses express
  • Custom Middleware classes that enable advanced modularity
  • Modular models (you can add components with some definition automation)
  • Simple database migrations (raw sql queries for now)
  • Nunjucks for the view template engine
  • Mail template system using Nunjucks + MJML
  • Beautiful logging thanks to tslog

Databases

  • MySQL (persistent data)
  • Redis (cache, session)
  • (more to come)

Common systems

  • Advanced modular multi-factor authentication system
  • CSRF protection
  • WebSocket server with Controller-style endpoint listeners
  • WIP: automatic updates