Structure Web Application Framework
Go to file
Alice Gaudon 6aa37eb9e4 Add two step pre-compile/compile asset processing
Reorganize views into new "assets" folder structure
Turn locals into a store so locals don't have to be passed through files that don't need them
Some fixes to previous commit (esm) 82ab0b963c
Remove afs in favor of fs.promises (renamed afs.exists to Utils.doesFileExist
Rename Utils.readdirRecursively to Utils.listFilesRecursively
2021-05-04 17:14:32 +02:00
assets Add two step pre-compile/compile asset processing 2021-05-04 17:14:32 +02:00
config Reorganize config params and use view.cache for caching instead of view.dev 2021-04-27 15:08:41 +02:00
scripts Add two step pre-compile/compile asset processing 2021-05-04 17:14:32 +02:00
src Add two step pre-compile/compile asset processing 2021-05-04 17:14:32 +02:00
test Add two step pre-compile/compile asset processing 2021-05-04 17:14:32 +02:00
.eslintrc.cjs Switch to esm and add import auto format 2021-05-03 20:52:52 +02:00
.gitignore Switch to esm and add import auto format 2021-05-03 20:52:52 +02:00
jest.config.js Increase jest test timeout 2021-04-22 18:01:35 +02:00
LICENSE Add license 2020-08-25 17:58:34 +02:00
package.json Switch to esm and add import auto format 2021-05-03 20:52:52 +02:00
README.md Rename project to swaf 2020-11-12 16:11:16 +01:00
rollup.config.js Add two step pre-compile/compile asset processing 2021-05-04 17:14:32 +02:00
tsconfig.frontend.json Add two step pre-compile/compile asset processing 2021-05-04 17:14:32 +02:00
tsconfig.json Switch to esm and add import auto format 2021-05-03 20:52:52 +02:00
tsconfig.svelte.json Add two step pre-compile/compile asset processing 2021-05-04 17:14:32 +02:00
tsconfig.test.json Fix indent on tsconfig files 2021-04-27 15:44:04 +02:00
yarn.lock Switch to esm and add import auto format 2021-05-03 20:52:52 +02:00

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