Skip to content

An API implementation using Fastify and best practices

Notifications You must be signed in to change notification settings

eabait/tywin-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tywin

Greenkeeper badge

Tywin is an ongoing experiment that aims at creating a maintainable NodeJS seed/boilerplate project. The main goal is to be more than an integration of useful libraries as most boilerplates projects are. Tywin is my search of a minimal design for a NodeJS project that applies the best of software architecture. Most inspiration is drawn from Clean Architecture and DDD (domain-driven design).

Tasks

Remaining tasks

  • Project setup
    • Basic Fastlify project structure
    • Database connection
    • Lint
    • Config using env
    • Prettier
    • Docker and docker-compose
    • Working unit tests
    • Integration tests
    • Stress tests
    • Coverage rules
    • Helmet plugin
    • Run Sequelize migrations

Modules

The following modules will be implemented. Each module represents (or tries to) a bounded context.

  • Session services

    • Login
    • Logout
    • Register
    • Forget password
    • Refresh session
  • User services

    • Create
    • List
    • Update
    • Delete
    • Detail

Design Decisions

  • Authentication with JWT
  • Role-based Authorization

About

An API implementation using Fastify and best practices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published