Webapp Framework

Contents:

Outline

  1. Overall project layout - partial design:

    projectRoot
    |
    |-- src
    |  |
    |  |-- Models
    |  |  |
    |  |  |-- User
    |  |  |   \-- Types
    |  |  |
    |  |  |-- Customer
    |  |  |   \-- Types
    |  |  |
    |  |  |-- Order
    |  |  |   \-- Types
    |  |  |
    |  |  \-- (and so on)
    |  |
    |  |-- Endpoints
    |  |  |
    |  |  |-- User
    |  |  |   \-- Types
    |  |  |
    |  |  |-- Customer
    |  |  |   \-- Types
    |  |  |
    |  |  |-- Order
    |  |  |   \-- Types
    |  |  |
    |  |  \-- (and so on)
    |  |
    |  \-- Foundation
    |     | Import
    |     | DBImport
    |     \-- Types
    |       |-- Currency
    |       |-- PrimaryKey
    |       |-- Config
    |       \-- (and so on)
    |
    |-- app
    |  \-- Main
    |
    |
    |-- autogen
    |  \-- AutoGenarated
    |     |
    |     |-- Models
    |     |  |-- User
    |     |  |-- Customer
    |     |  |-- Order
    |     |  \-- (and so on)
    |     |
    |     |-- PrimaryKeys
    |     |  |-- UserId
    |     |  |-- CustomerId
    |     |  |-- OrderId
    |     |  \-- (and so on)
    |     |
    |     \-- Classes (used for lenses)
    |        |-- Id
    |        |-- Name
    |        |-- Phone
    |        \-- (and so on)
    |
    |-- autogen-config.yml
    |
    \-- scripts
    
  2. Models / Database

    1. Naming conventions - almost final design
    2. Migrations: Creating and editing models - almost final
    3. Strict validations - WIP
    4. Query helpers - partial design
    5. DB transactions & savepoints - partial design
  3. Creating JSON APIs - WIP

    1. Basic JSON API - almost final
    2. API-specific validations - WIP
    3. File-uploads - WIP
  4. Frontend/UI code

    1. Communicating with JSON APIs - WIP
    2. Validations - WIP
    3. Static assets - WIP
  5. Logging

    1. File based logging - almost final
    2. Exception/error notifications - WIP
    3. Performance metrics in production - WIP
  6. Sending emails - almost final

  7. Job queues - partial design

  8. Testing - WIP

  9. Deployment - WIP

  10. Authentication & authorization - WIP

  11. Audit logs - partial design