/dk-framework

Primary LanguageTypeScript

DK Framework

Warning

It's fine if you use these libraries from NPM package with a static versioning in case you want it for some pet-project or to test it's capabilities.

But for production use it's strongly recommended to create a fork, because I do not write Changelogs and may break / add some functionality without notice.

This multi-repository is my personal collection of libraries designed for the efficient development of SPA applications.

It primarily focuses on Node.js, React, MobX, and Webpack, although I now utilize Esbuild, rendering Webpack repositories somewhat outdated.

Feel free to explore for inspiration or fork these libraries to use in your own projects.

Here is a list of libraries that already have good documentation:

Mobx:

Node.js:

Webpack:

ESLint:

Axios / validators:

Localization:

  • dk-localize - Library for injecting texts into templates (just an approach, the capabilities are limited)

These libraries will never have a documentation:

Read the source code and find some useful parts for you projects

And here is what I work on currently:

Actually I use them in my projects for many years, but haven't managed to write docs.

So, my approach to developing SPAs is as follows (a checklist for me):

  • Configure ESLint + StyleLint with dk-eslint-config
  • Configure TypeScript
  • Configure .env files with dk-compare-env
  • Create a BFF with dk-bff-server
  • Create a build pipeline with dk-webpack-config + dk-webpack-parallel-simple
  • Configure dk-reload-server for the browser reloading on rebuild
  • Configure dk-file-generator that makes all the dirty work for me
  • Create a global React context with dk-react-react-mobx-globals
  • Tune API-layer with dk-request
  • Configure Localization layer with dk-localize
  • Create routes with dk-react-mobx-router
  • Organize SSR + hydration with dk-mobx-restore-state
  • Write ViewModels (local store layer) with dk-mobx-use-store
  • Write forms with dk-react-mobx-config-form
  • Add something like react-styleguidist for components library
  • Add something like cypress for E2E tests
  • Add something like Sentry for debugging
  • Add Dockerfile

So, the project is ready for some business-specific logic.