Giter Club home page Giter Club logo

nodetsstarter's Introduction

Hi there 👋 Peter Kitonga here

I love to learn and build stuff. I am currently learning alot about Node.js and its awesomeness. Want to connect? Hit me up on:

 

⚙️  GitHub analytics

 

Languages

JavaScript Node.js Typescript Vue Angular SASS/SCSS
 

Databases

MySQL PostgreSQL MongoDB
 

Design apps

Photoshop Illustrator Adobe XD
 

DevOps

Docker Travis CI Jenkins
 

nodetsstarter's People

Contributors

peterkitonga avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

nodetsstarter's Issues

[TASK] :: Add repository for the salt model

Acceptance Criteria

  • Should have a repository class
  • Should implement the base repository class
  • Should use dependency injection
  • Should update the model to use camel case

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Implement the salt & refresh token repositories in the auth service

Acceptance Criteria

  • Should change all references of the salt model to the salt repository
  • Should change all references of the refresh token model to the refresh token repository

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add unit tests for the aws s3 helper class

Acceptance Criteria

  • Should have unit tests for src/core/aws-sthree.ts

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[DEV] :: Add path aliases to all files

Acceptance Criteria

  • Should add path aliases for the src folder to all files

Definition of Done

  • Code completed
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add unit tests for the auth API routes

Acceptance Criteria

  • Should add dependency for supertest
  • Should have unit tests for each route in src/api/routes/auth.ts
  • Should have unit tests for validation of POST & PUT requests

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add unit tests for the auth service class

Acceptance Criteria

  • Should have unit tests for src/services/auth.ts

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Implement the auth check & validation middlewares as typedi services

Acceptance Criteria

  • Should implement the auth check middleware as a service
  • Should implement the auth validation middleware as a service
  • Should update middleware implementations in the auth routes

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add unit tests for the mongoose helper class

Acceptance Criteria

  • Should have unit tests for src/core/mongoose.ts

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Implement the user & password reset repository in the auth service

Acceptance Criteria

  • Should update the auth service into a typedi service
  • Should update the auth controller into a typedi service
  • Should import the auth controller into the auth routes using the typedi service container
  • Should change all references of the user model to the user repository
  • Should change all references of the password reset model to the user repository

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Improve application responses

Acceptance Criteria

  • Should remove unnecessary status fields from all responses

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add repository for the refresh token model

Acceptance Criteria

  • Should have a repository class
  • Should implement the base repository class
  • Should use dependency injection
  • Should update the model to use camel case

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[DEV] :: Update configurations for building the app

Acceptance Criteria

  • Should add dependency for tsconfig-paths & tsc-alias
  • Should update nodemon configuration with tsconfig-paths preset
  • Should update build npm script with tsc-alias CLI configuration

Definition of Done

  • Code completed
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add unit tests for the mailer service class

Acceptance Criteria

  • Should have unit tests for src/services/mailer.ts

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add repository for the user model

Acceptance Criteria

  • Should add dependency for typedi
  • Should add a base repository class
  • Should implement a repository for the user model
  • Should implement the base repository
  • Should update the model to use camel case

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add openapi configuration for API documentation

Acceptance Criteria

  • Should add dependencies for OpenAPI
  • Should define schema files for the documentation
  • Should add route for the API docs

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[DEV] :: Add & configure JEST dependencies

Acceptance Criteria

  • Should install JEST dependencies
  • Should remove mocha, chai & sinon dependencies
  • Should add JEST configuration file

Definition of Done

  • Code completed
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[DEV] :: Migrate jsonwebtoken to version 9

Acceptance Criteria

  • Should update dependency for jsonwebtoken
  • Should update jwt.verify() options to recommended settings
  • Should update jwt.sign() options to recommended settings

Definition of Done

  • Code completed
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add morgan for logging application events

Acceptance Criteria

  • Should have dependencies for morgan
  • Should configure middleware for logging with morgan
  • Should pass logs created by morgan to winston transporters

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add repository for the password reset model

Acceptance Criteria

  • Should have a repository class
  • Should implement the base repository class
  • Should use dependency injection
  • Should update the model to use camel case

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Improve CORS configuration for the API

Acceptance Criteria

  • Should expose the Set-Cookie header
  • Should enable preflight requests
  • Should handle multiple origins
  • Should add unit tests for the express app class

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Implement autopopulate for all models

Acceptance Criteria

  • Should add dependency for mongoose-autopopulate
  • Should update all models with foreign models to use autopopulate
  • Should update the type descriptions for all models

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[DEV] :: Add containerized setup with docker

Acceptance Criteria

  • Should add Dockerfile for creating an image for the node app
  • Should add a docker-compose file to build and run the node app

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add unit tests for the winston helper class

Acceptance Criteria

  • Should have unit tests for src/core/winston.ts

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Improve the auth validation middleware

Acceptance Criteria

  • Should add a base class for the validation middlewares
  • Should implement the base validation class in the auth validator
  • Should update all request fields from underscore to camel case

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

[TASK] :: Add unit tests for the file service class

Acceptance Criteria

  • Should have unit tests for src/services/file.ts

Definition of Done

  • Code completed
  • Unit tested with Jest
  • Logs observed when application run on localhost
  • Logs observed when application run on docker

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.