Skip to content

WORK IN PROGRESS - Full stack starter kit featuring React+Bootstrap with a Node Express+SQL Backend

License

Notifications You must be signed in to change notification settings

DamienFremont/typescript-sql-node-react-starter

Repository files navigation

/!\ WORK IN PROGRESS /!\

typescript-sql-node-react

This technical stack is not the state-of-the-art, but a stable one (no need to worry for 3-5 years). It's usefull for long-term support apps, like Business or IT Intranet webapps.

alt text

alt text

alt text

Table of Contents


Stack

Project view

Area Product Plugins or Impl
Language TypeScript
UI Bootstrap JQuery
App ReactJS react-router, react-intl, redux
API HTTP-client, ExpressJS Swagger (OpenAPI)
Data Sequelize, SQL SQLite, PostGreSQL
Secu Passport
Env dotenv

Stack view

Layer Product Plugins or Impl
Client (browser)
Bootstrap JQuery
ReactJS react-router, react-intl, redux
HTTP-client Swagger (OpenAPI)
Passport
Server (NodeJS)
ExpressJS Swagger (OpenAPI)
Passport
Sequelize
dotenv
Database (dev)
SQLite SQL
Database (prod)
PostGreSQL SQL

Usage

Get

git clone https://github.com/DamienFremont/typescript-sql-node-react-starter.git
cd typescript-sql-node-react-starter

Execute DEV

npm install -g create-react-app
npm install

npm run watch

Execute PROD

  • linux & mac: export NODE_ENV=production
  • windows: set NODE_ENV=production
  • win powershell: $env:NODE_ENV = "production"
npm install
npm run heroku-postbuild

npm start

Use it


Features

A list of available features divided into tech area. You'll find other posts about this starter here (WORK IN PROGRESS).

Legend

  • ✔️️ - Fully implemented as intended.
  • ⚠️ - Partially implemented, somewhat broken or simply still not mature enough.
  • ❌ - Not implemented yet or currently unusable.
  • ⛔ ️ - Will not be implemented (see note).
  • ❔ - Not verified or tested.

Table of Contents

Packaging

Feature State Note
build-dev ✔️
build-prod ✔️
conf-env ✔️ NODE-ENV=...
conf-file ✔️ dotenv
conf-placeholder ✔️ dotenv
banner ✔️ banner.txt
logger ✔️ level in env

alt text

App

Feature State Note
project-structure ✔️ components, pages, layouts
rendering-client-side ✔️ SPA
rendering-server-side SSR
rendering-universal-app Isomorphic
local-message ✔️ JSON
local-lang-detect ✔️ Browser
local-lang-change ✔️
icons ✔️ FontAwesome
layout-grid ✔️
layout-navbar ✔️
layout-routes ✔️
layout-help ✔️ general and pages
layout-urls ✔️ SSR, CSR perfs

alt text

API

Feature State Note
api-client ✔️
api-server ✔️ Express
api-swagger ✔️ OpenAPI, design-first
api-version ✔️ version URL
api-private-public ✔️

alt text

Form

Feature State Note
form-edition ✔️
form-toolbar
form-validation ✔️ AJV
date-picker ✔️

alt text

Data-Table

Feature State Note
table ✔️
table-sort
table-filtering
table-pagination ✔️
table-export
table-expand-row

alt text

Service

Feature State Note
service-store
server-authent
server-security
server-data-validation AJV
server-local-message server-side locale

Data

Feature State Note
file-download
file-upload browse, drop, preview
data-schema ✔️
data-dataset
data-orm-crud ✔️
data-orm-paginate ✔️
data-orm-search

Entity

Feature State Note
data-entity ✔️ entity, value-object, id, dates, deleted-by-at
data-reference reference (name, label)
data-history version, history, event
data-domain UUID, join models by only one UUID

Security

Feature State Note
auth-local HTML form
auth-openid OpenID
auth-ad SAML
secu-role
secu-right
secu-page
secu-routes
user-settings local, remote
user-profil remote

Tests

Feature State Note
test-unit
test-int integration
test-ui user-interface
cucumber-edit NON-DEV
cucumber-build
cucumber-refactor

Workflow

Feature State Note
workflow-client
workflow-server

Accessibility

Feature State Note
access-breadcrumb ✔️
access-size ✔️ em
access-wcag-aria
access-offline

Charts

  • charts
    • line
    • bar

Tools

  • VSC
    • settings
    • shortcuts
    • plugins
      • TS Hero
      • TODO
      • Debugger
  • Chromium
    • REST Client

Other

  • templating
    • Mail

References

About

WORK IN PROGRESS - Full stack starter kit featuring React+Bootstrap with a Node Express+SQL Backend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published