Skip to content

atljoseph/flourish-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flourish Challenge

Project folders

  • Includes db folder
  • Includes lib folder
  • Includes etl folder
  • Includes api folder

Dependencies

  • [Docker Installed && Daemon is Started (I have Version 18.06.1-ce-mac73)]
  • [NodeJs Installed w/ NPM (LTS or greater)]
  • sudo npm install -g typescript
  • sudo npm install -g pm2
  • sudo npm install -g typedoc
  • [Postman Installed for Testing]

Run

  • Navigate to project root - cd [repo_root]
  • Start MySQL Container - npm run dbStart (Stop with npm run dbStop)
  • Confirm DB Server & Database - npm run dbList
  • Build Shared Lib - npm run lib
  • Migrate & Seed MySQL - npm run etl
  • Confirm DB Data via MySQL - npm run dbStrains
  • Start API - npm run apiStart (Stop with npm run apiStop)
  • Test w/ Postman Collection - Find the file Flourish-Challenge.postman_collection.json
  • Create documentation - npm run doc

Tasks Done

  • set up docker db image / container
  • create api
  • use typscript
  • query db from api
  • db server setup sql
  • environment configuration via json file
  • script to kick off migration & data etl process
  • use shared typescript lib
  • improve project structure / scripting
  • create test route and request logging middleware
  • create db storage schema
  • delegate migration list to config and allow multiple migration files
  • download / install mysql workbench
  • create etl data insert
  • create strain business
  • refactor etl to use business
  • strain business - create with and without identity insert
  • allow config to associate migrations to a specific db
  • allow config of more than one db
  • strain business get all strains
  • strain business delete strain by id
  • strain business get all strain by id/s
  • strain business get all effect types
  • strain business get all races
  • strain route
  • base response and strain responses
  • base error and other errors
  • return 404 when no route is matched
  • data repository / access layer
  • mapping of strain dto to entity and back
  • lite and detail strain models
  • repurpose etl to insert with dto instead of entity
  • create route method / business for get all strains
  • create route method / business for get strain by id
  • return error when strain by id not found in db
  • return error when strain by id is invalid
  • build db "context" with db connector pattern
  • use db transactions and connection pool in repository
  • nodemon? / pm2? for multithreading
  • mysql bulk inserts
  • Postman collection started
  • route method for create
  • unique index on strain name
  • route method / business / repo / postman for search
  • route method / business / repo for update detail
  • typedoc for lib

Tasks Todo

  • typedoc for etl
  • typedoc for api
  • use redis for caching static data like effect types / races
  • move migrations to lib

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages