Work Breakdown
Training
- Typescript learning & Team training
- Material wrappers //initially 5 days overview, later when developing each component
- Grid layout // learn 5 days & practice 3 days //css grid
- Animations css & JS learning // 5 days basic animation
- Unit testing learning // 2 days & practice 1 days
- Automation testing // 5 days & practice 2 days
Client
- folder structure
- Theming & Typography
Concept
(user choice shades + gradient, error color) & Typography (user choice font increase/ decrease) as a component //shared_client
- Aurelia skeleton code + bundling ..etc 
- localization //consider english as separate language (default) file 
- browserCompatibilityCheck //shared_client 
- UI components //shared_client 
list
Points to consider :
- All just do version 1 & remaining backlog add in same readme file
- Have typical HTML experience (attributes & events - promises)
- Wrapper interface for each core element
- container responsive or css grid in json - different for each screens
- componentHelpers along with if any
PORT + add interface
material variant + schema design + schema validations + error labels
- Textbox + Multiline textbox + Textarea (merge all)
- Number box (can merge above + email + password)
- Checkbox + Checkbox group //label for, indeterminate
- radio group
- dropdown (DLL_MERGE)
- loader (add more styles) (LOADER_MERGE)
- icons
- buttons
- breadcrumbs
- tile + card //with header, footer
- toggle button (switch)
- Charts (single/ multiple/ nested)
- picture element
- Scale slider
- icon rating
- home page components
- marquee slider
- TV flipper
- image slider
- flashLike
- card_counts
- block groups
- Video element
New components
- Autocomplete dropdown (DLL_MERGE) 
- Related / nested dropdown (DLL_MERGE) //3 or n level 
- Icon dropdown (DLL_MERGE) 
- Masker (LOADER_MERGE) 
- Date picker 
- Alerts + Summary 
- File upload //think of docs management structure 
- Menu //related dropdown ? 
- icon set (nested, more icons) //quick bar, nav bar, tile icon bar 
- navbar (horizontal, vertical modal) //rewrite 
- Form (nested) //edit & view form
- List page //phase 1, all popup edit, so that useful in tile view
- Summary page
- Any component //always check parallel with each element developed <any use-component="dropdown" load-test-data="true" on-all="allEventHandler(eventName, evtObj, data)"/>It drill downs too<cst-select load-test-data="true" on-all="allEventHandler(eventName, evtObj, data)">onBind() take data from test_data folder & assign to json-schema, json-data attributesNote: if test data, then in event call back return todo, checklist...etc JSON
- wrappers : //shared_csd - logging
- caching
- crypto
- momentJs
- numeralJS
- utilities (array filter/ sort...)
- schema validations
 
- Build management (typical aurelia application) //shared_client 
- shapes Material shapes 
- Animations //user choice on/off - variants - https://github.com/daneden/animate.css //by css
- https://github.com/juliangarnier/anime/ //by js
- check native web animation api like https://github.com/web-animations/web-animations-js/releases
- Animated Icons
 
- Aurelia 2 migration when released 
- Accessibility (atleast keyboard work around without mouse & touch) //like vs code command help window - If content updates dynamically, do visually impaired people know about it
- quick glance
- moz
- aria
 
- Auto save form, unsaved changes..on page navigate..use Aurelia store 
- bring home page as a slick concept (as needed in TW rewrite) 
- port feedback module as SLICK 
- story book 
Server
- DB Connection Manager //shared_server 
- Common CRUD data layer (via schema) //shared_server 
- API Docs (Any auto generator like swagger ?) //shared_server 
- API testing (automation ?) //shared_server 
- Project Docs, API, BL, DL, settings code //project 
- Project API Docs, API Testing //project 
- Build management (typical node application) //shared_server 
- MongoDB by RestAPI https://github.com/SoftInstigate/restheart https://github.com/pyeve/eve/ 
Database
- JSON Schema
- Indexing
- Test & production machine setup
- Backup & Restore //+ GIT
- Security & Advanced topics required
- Storage pointing to ?
- MongoDB hopping (get from some DB table if not from other ) // for old data
Testing
- Unit testing (Jest or simple aurelia 2 assert) //code coverage ??
- Automated UI testing (Responsive too) //puppeteer** or playwright wrapper, later accessibility automation testing tools available
- API Testing
- CI ?
IT
- Nginx, brotli & gzip compression, http2 parallel file serving
- Heartbeat
Docs
- docs must be print friendly // markdown to pdfs - give option to download.
Developer points
- Check loadash library (clone deep..etc js functions)
- Dummy / empty coding : Only docs & component interactions are checked- Let all teams check it out & give input
 
- ext_repos => shared_client, without code only readme folders //then can link all shared & project documentation together
- let /examples of components be a aurelia route (loaded with chunk module)- Auto generate page data, fill left menu from component names, load right side by any component element
- handling events in example page (just display event name & JSON data)
 
- let /todo shows all project todo
- constants, each component will have code & all helpers ..etc are written there itself
- debugging, logging, security, performance & other standards are built in. Add same in checklist of each component
- Define naming conventions in- ESLINT
- VS CODE Snippets
- TS Interfaces (separate files & import, export types separately)
 
- Export to excel == print (in data perspective) , //JSON to HTML, JSON to EXCEL // generic wrappers
- sample folders : like new custom_element, new_page //leverage snippets
- Think Design like- Layout 1 : Comp 1A/ 1B/ 1C
- Layout 2 : Comp 1A/ 1B/ 1C
 
- Send notification, if regression testing fails
GraphQL (add in separate graphql file)
- https://www.mongodb.com/blog/post/introducing-graphql-support-in-mongodb-atlas-with-stitch
- https://docs.mongodb.com/stitch/graphql/
- https://graphql.org/graphql-js/
- https://www.apollographql.com/docs/apollo-server/v1/servers/koa/
- https://medium.com/better-programming/how-to-setup-a-powerful-api-with-graphql-koa-and-mongodb-339cfae832a1
- Axios