stc

a simple time card webapp
git clone _git@git.brennen.work:stc.git
Log | Files | Refs | README

README (2048B)


      1 stc started out as a simple time card implementation for personal use or small to medium size businesses. Project has potential to be renamed to scms (simple content management system) based on potential end-goals of multiple clients. 
      2 
      3 The goal of this project is to create an extensible tool for time and other asset/resource management. Current implementation is designed around the use case of funding organizations. Future implementation around v1.0 will be rather organization agnostic. 
      4 
      5 ## Technology in use
      6 STC has been developed with python, flask, wtforms, jinja, html, css, and uses mongodb as the database layer.
      7 
      8 flask blueprints compose the (organization)branch, equipment, fleet, and meetings components (ought to allow modular use of features in future)
      9 
     10 templates holds each "component" either a standalone file, or a directory for the index.html(full page route) and widget.html(dashboard interactable view). At present, primary dashboard pages (dashboard, and admin) also include layout.html page with jinja templating for rendering privlidged access.
     11 
     12 static holds css files and image assets.
     13 
     14 In-software uploaded files and documents are stored in a GridFS instance, associated with the feature blueprint. Ex: meeting.files and meeting.chunks for files uploaded in the meetings blueprint features/routes.
     15 
     16 ## Overall improvements to be made might include:
     17 - [ ] Abstraction from developing entities for external non-profit/organization use
     18 - [ ] Overall better commenting(many are outdated or were not removed ofter task was completed)
     19 - [ ] Fill out documentation/help route/page
     20 - [ ] Mongodb at rest encryption(look into this more)
     21 - [ ] Assuming at rest encryption unfeasable, expand use of encrypted fields in user, GridFS, and agreement collections.
     22 #### in process improvements
     23 - [ ] Async file upload for documents in meeting blueprint.
     24 - [ ] Refactoring of codebase from present statically typed routes.
     25 - [ ] Removal of unused code and expired comments
     26 - [ ] Primary features break out into flask's blueprint system