Skip to content

Latest commit

 

History

History
94 lines (81 loc) · 2.33 KB

features.md

File metadata and controls

94 lines (81 loc) · 2.33 KB

Features

  • Front End

    • bootstrab based
    • 85% responsive
    • simple views [p:public/r:private]
      1. index [p]
      2. About [p]
      3. Login [p]
      4. Signup [p]
      5. catalog [p/r]
      6. item [p/r]

      CRUD [R:p] [CUD:r]

  • Back End

    1. base [Modular Flask app]

      • python flask based
      • OOp structure
      • blueprint sectioning
      • Basic adminstration features
      • CRUD [catalog/catagories/Items/catagory/Item|User]
        1. Create
        2. read
        3. Update
        4. Delete
    2. Configration

      1. production (default)
        • Separated DB
        • Stop /test view
      2. Development
      3. Testing
    3. DataBase

      • type: sqlite3
      • engine: flask_sqlalchemy
      • generate: autogenerated py the app
      • instances: 2 [test & production]
      • generation time: on app start or app request
    4. API

      • type: REST
      • strucure: JSON
      • endpoints [Read_Only]
        1. The entire catelog
        2. All catagories
        3. All items
        4. A specific catagory
        5. A specific item
    5. Securety

      1. auth
        1. internal
          • level: Basic
          • manager: flask_login
          • Rules: User, SuperUser
        2. Third pary
          1. Google
      2. API
        • auth: based on publish state of items
      3. Sensitive Data
        • /secrets: is kept from traking via git
        • (app/client)_secrets: Doesn't appear in app and provided for the script with modificationd
  • Testing

    1. Development & Testing configration
    2. pycodestyle
    3. vsCode tests
  • platform

    1. App [Independant]
      • Any platform that runs python should run the app
    2. Testing
      • Recommended: Linux (Ubuntu >= 18.x)

      Other platforms should do also

  • Helpers

    1. MD files
      • README.md
      • READs/*.md
    2. Scripts
      • start.sh [bash]
        • clear
        • Run the app [ dev/test/production/wsgi ]
        • Instal requirements [ pip/ssl(SSC) ]
        • Test only python files [ pycodestyle|PEP.8 ]
        • autopep8
        • push to github
        • deploy on heruku [ heroku/git:heroku ]