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 533cef5ab8 Use user id to throttle failed login attempts instead of name 2 months ago
config Approval mode: revoke unapproved users auth proofs 3 months ago
scripts package.json scripts: use NodeJS instead of unix commands 4 months ago
src Use user id to throttle failed login attempts instead of name 2 months ago
test Approval mode: revoke unapproved users auth proofs 3 months ago
views Properly implement pagination 4 months ago
.eslintrc.json package.json scripts: use NodeJS instead of unix commands 4 months ago
.gitignore .gitignore: add config/local.* 6 months ago
LICENSE Add license 11 months ago
README.md Rename project to swaf 9 months ago
jest.config.js Increase jest test timeout 3 months ago
package.json Version 0.23.10 3 months ago
tsconfig.json Fix published npm package folder structure 6 months ago
tsconfig.test.json Add many eslint rules and fix all linting issues 10 months ago
yarn.lock Upgrade dependencies 3 months 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