commit 8571d025f6cf3a1d39b53b768c576433551818fa
parent 4bb75ab5d391ba8e121fd9c1f31cae67afb942a7
Author: Brennen T. Mazur <dev@brennen.work>
Date: Tue, 11 Jun 2024 16:18:11 -0600
Update README to more accurately portray project
Diffstat:
M | README | | | 27 | ++++++++++++++++++++------- |
1 file changed, 20 insertions(+), 7 deletions(-)
diff --git a/README b/README
@@ -1,13 +1,26 @@
-stc is a simple time card implementation for personal use or small to medium size businesses.
+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.
-The goal of this project is to create an extensible tool for time and asset management.
+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.
-Current plans are to use mongoDB as the backend to a simplistic dashboard for accessing management interfaces, overseeing and managing role's clocked in status, and requesting reports for not only current/past pay periods sorted by employee, but also by project code
+## Technology in use
+STC has been developed with python, flask, wtforms, jinja, html, css, and uses mongodb as the database layer.
-Project has potential to be renamed to scms (simple content management system) based on potential end-goals of multiple clients.
+flask blueprints compose the (organization)branch, equipment, fleet, and meetings components (ought to allow modular use of features in future)
-An option would be to create the base structure for the cms (as human resource management [ex. time tracking]) and allow patches to include additional functionality like equipment tracking etc.
+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.
-templates holds each "component" either a standalone file, or a directory for a index.html(full page route) and widget.html(dashboard interactable view)
+static holds css files and image assets.
-For organization specifics... it might be usefull to create diff files for specific additions etc? Possibly too costly to maintain over master version changes. This needs to be determined and refined.
+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.
+
+## Overall improvements to be made might include:
+- [ ] Abstraction from developing entities for external non-profit/organization use
+- [ ] Overall better commenting(many are outdated or were not removed ofter task was completed)
+- [ ] Fill out documentation/help route/page
+- [ ] Mongodb at rest encryption(look into this more)
+- [ ] Assuming at rest encryption unfeasable, expand use of encrypted fields in user, GridFS, and agreement collections.
+#### in process improvements
+- [ ] Async file upload for documents in meeting blueprint.
+- [ ] Refactoring of codebase from present statically typed routes.
+- [ ] Removal of unused code and expired comments
+- [ ] Primary features break out into flask's blueprint system