Skip to main content

Project structure

Files structure tree

── root-directory
    ├── init.js
    ├── Licence
    ├── README.md
    ├── package.json
    ├── admin
    │   ├── app
    │   └── package.json
    ├── client
    │   ├── app
    │   └── package.json
    ├── server
        ├── app.js
        ├── db
        ├── controllers
        ├── routers
        ├── models
        ├── middleware
        └── package.json

Admin overview

The CMS was built to enable the admins to control and manage the app data. The admin can update/modify/delete user data (can be switched to any collection), while remaining aware of any changes made on the app.

main parts:

  • Main app.js - admin > app > app.js
  • Routes - admin > app > containers > App > index.js
  • Screens - admin > app > containers
  • Components - admin > app > components
  • Global styles - admin > app > global-styles.js
  • Main saga - admin > app > containers > App > saga.js

Client overview

The front-end was built with efficient code splitting and a maintainable structure that aims to dramatically cut time that is traditionally wasted, when starting a new project.

main parts:

  • Main app.js - client > app > app.js
  • Routes - client > app > containers > App > index.js
  • Screens - client > app > containers
  • Components - client > app > components
  • Global styles - client > app > global-styles.js
  • Main saga - client > app > containers > App > saga.js

Server overview

The back-end was built using node & express js best practices. The most advanced node packages were applied.

main parts:

  • Main app.js - server > app.js
  • Controllers - server > controllers
  • DB - server > db > db.js
  • Auth - server > middleware > auth.js
  • Schema models - server > models
  • Express routers - server > routers