Coder Social home page Coder Social logo

flourish-challenge's Introduction

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

flourish-challenge's People

Contributors

atljoseph avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.