Last active 1734358282

a methodology to ensure eventual success in passion projects.

kristofer's Avatar kristofer revised this gist 1734355801. Go to revision

1 file changed, 128 insertions, 5 deletions

PassionProj.md

@@ -13,9 +13,17 @@ In the Piro360 example, it is `Piro`
13 13
14 14 ## Method
15 15
16 - Perform each of these phases in order.
16 + Perform each of these phases in order. [Java](#java) and [Data](#data)
17 17
18 - ## REST Server (initial)
18 + ## Create Repo for Project
19 +
20 + - add all your docs in a `doc/` folder
21 + - draft initial README.md with summarized paragraph of the one-pager
22 + - create a `src/` folder for all your source code
23 +
24 + ## <a name="java"></a>Java
25 +
26 + ### REST Server (initial)
19 27 - Build a small, single entity (`Entity-1`) rest server.
20 28 - Load some test data into the db behind the REST server with a SQL file for Entity-1.
21 29 - Prove data is loaded with SQL
@@ -25,16 +33,131 @@ Perform each of these phases in order.
25 33 - Prove data is loaded with SQL using an INNER join.
26 34 - Prove data is loaded with a tool like Postman
27 35
28 - ## VanillaJS Interface
36 + ### VanillaJS Interface
29 37
30 - - display on a single page, List-Of Entity-1s
38 + - display on a single page html, List-Of Entity-1s
31 39 - add links to Detail-Of Enitity-1s
40 + - build a Detail-Of page for Entity-1
41 + - add a non-working button for `add` and `edit` and `delete` of Entity-1
42 + - style the VanillaJS UI with bootstrap or something
43 + - can use Koley-css
32 44 - add a POST/FORM which adds entity-1s from the UI frontend
45 + - add new page for adding an Entity-1
46 + - add JS for same
47 + - connect to REST backend
48 + - prove it works with postman and the new page
49 + - what will you do about the User foreign-key relationship?
33 50
34 - ## Display User-restricted Entity-1s
51 + ### Display User-restricted Entity-1s
35 52
36 53 - add ability to set User-1 on a List-Of page
37 54 - restrict display of List-Of Entity-1s by a User
55 + - modify add-entity-1 page to handle the User foreign-key relationships
56 + - style the pages to be consistent with each other
57 +
58 + ### Business Logic
59 +
60 + - what business logic addition can you add to your REST server?
61 + - _Example:_ `piro360` is the idea of tags
62 + - display `Piro`s by `User` and by `Tag`
63 + - adding and removing of tags from a `Piro`
64 +
65 + ### Add ReactJS UI
66 +
67 + - add a reactjs interface that mimics your VanillaJS interface
68 + - style it consistently
69 + - what new spiffy items can you now do that were not really possible with vanillaJS?
70 +
71 + ### Create an admin UI
72 +
73 + - create a CRUD admin UI for your Entities
74 + - make sure only Users with Admin privileges can edit the database.
75 +
76 + ### Add JWT security to the project
77 +
78 + - you may, finally, at this point, need a Login page
79 + - create a session-based security model
80 + - prove it works with Postman
81 + - and maybe a Register page. (maybe)
82 + - which brings up a Profile page
83 + - how can you prove that your login page and its session security works?
84 +
85 + ## <a name="data"></a>Data
86 +
87 + This is a comprehensive project plan outline for your data engineering pipeline.
88 +
89 + ### Data Research & Requirements Phase
90 + - Define project objectives and success criteria
91 + - Identify potential data sources
92 + - Document data requirements (volume, velocity, variety)
93 + - Assess data quality needs
94 + - Determine necessary data formats and schemas
95 + - Create data dictionary template
96 +
97 + ### Data Collection & Storage Setup
98 + - Set up development environment
99 + - Establish data storage infrastructure
100 + - Create data ingestion pipelines
101 + - Implement data validation checks
102 + - Document data collection procedures
103 + - Set up version control for code and notebooks
104 +
105 + ### Exploratory Data Analysis (EDA) Phase
106 + - Create initial Jupyter notebook
107 + - Perform basic statistical analysis
108 + - Check data distributions and patterns
109 + - Identify outliers and anomalies
110 + - Handle missing values
111 + - Document initial findings
112 + - Create data cleaning procedures
113 +
114 + ### Advanced Analytics Phase
115 + - Define key metrics and KPIs
116 + - Develop statistical models
117 + - Implement feature engineering
118 + - Create data transformation pipelines
119 + - Validate analytical results
120 + - Document analytical methodologies
121 + - Optimize analysis procedures
122 +
123 + ### Visualization Development
124 + - Select appropriate visualization libraries
125 + - Design initial visualization mockups
126 + - Create core visualizations
127 + - Implement interactive features
128 + - Ensure responsive design
129 + - Test visualization performance
130 + - Document visualization components
131 +
132 + ### Dashboard Creation
133 + - Design dashboard layout
134 + - Implement dashboard components
135 + - Create dashboard interactivity
136 + - Add filtering capabilities
137 + - Implement data refresh mechanisms
138 + - Ensure cross-browser compatibility
139 + - Document dashboard functionality
140 +
141 + ### Flask Application Development
142 + - Set up Flask project structure
143 + - Create necessary routes and endpoints
144 + - Implement authentication (if required)
145 + - Connect dashboard components
146 + - Set up error handling
147 + - Implement logging
148 + - Create API documentation
149 +
150 + ### (Extra Credit) Testing & Deployment
151 + - Develop unit tests
152 + - Perform integration testing
153 + - Conduct user acceptance testing
154 + - Set up CI/CD pipeline
155 + - Create deployment documentation
156 + - Plan scaling strategy
157 + - Document maintenance procedures
158 +
159 + _this phase is woth 1,000,000 extra credit points._
160 +
38 161
39 162
40 163

kristofer's Avatar kristofer revised this gist 1734354516. Go to revision

1 file changed, 43 insertions

PassionProj.md(file created)

@@ -0,0 +1,43 @@
1 + # Outline line of Tasks
2 + ZCW Passion Project methodology for PassionProj Week.
3 +
4 + Each of these phases are designed to move the project from the One-Pager stage to *something* working by the end of the week.
5 +
6 + ## Documentation
7 +
8 + The one-pager, the UX/UI mocks, and the data model documents should be complete.
9 +
10 + Now, **What is your `Entity-1`??**
11 +
12 + In the Piro360 example, it is `Piro`
13 +
14 + ## Method
15 +
16 + Perform each of these phases in order.
17 +
18 + ## REST Server (initial)
19 + - Build a small, single entity (`Entity-1`) rest server.
20 + - Load some test data into the db behind the REST server with a SQL file for Entity-1.
21 + - Prove data is loaded with SQL
22 + - Prove data is loaded with a tool like Postman
23 + - Add a User entity with a one-to-many relationship to Entity-1
24 + - Load some User test data into the db behind the REST server with a SQL file.
25 + - Prove data is loaded with SQL using an INNER join.
26 + - Prove data is loaded with a tool like Postman
27 +
28 + ## VanillaJS Interface
29 +
30 + - display on a single page, List-Of Entity-1s
31 + - add links to Detail-Of Enitity-1s
32 + - add a POST/FORM which adds entity-1s from the UI frontend
33 +
34 + ## Display User-restricted Entity-1s
35 +
36 + - add ability to set User-1 on a List-Of page
37 + - restrict display of List-Of Entity-1s by a User
38 +
39 +
40 +
41 +
42 +
43 +
Newer Older