Skip to content

NodeJS server that exposes a file upload API, built with TDD and DDD along with Clean Architecture.

License

Notifications You must be signed in to change notification settings

gftf2011/clean-node-file-uploader-api-js

Repository files navigation

Clean Node File Uploader Api





📄 About

This is a file upload API developed in pure Vanilla Javascript.

The objective from this project is to show how to create an API with a well-defined and decoupled architecture, using T.D.D. - (Test Driven Development) as a work methodology, building along with the Clean Architecture concept, dividing the layers responsibility !


🛠️ Supported OS

  • Mac OS
  • Linux
  • Windows

🔷 Design Patterns

  • Factory
  • Adapter
  • Composition Root
  • Builder
  • Singleton

📋 Required Tools


🏎️ Running Project

  1. Clone Repository
  $ git clone https://github.com/gftf2011/clean-node-file-uploader-api-js.git
  1. Install dependencies
  ################################################################################
  # YARN usage is recommended, or use the "npm install" to install dependencies. #
  ################################################################################
  $ yarn
  1. Use command below to run development environment
  $ yarn docker:dev:run

OBS.: Ensure to install all dependencies in Required Tools


🧪 Running Tests

  $ yarn docker:test:run
  ######################################
  # Uses Cucumber.JS to run BDD tests. #
  ######################################
  $ yarn test:cucumber

🔖 Benchmark

  $ yarn docker:local:doctor:run

🗄️ Running Swagger

  1. Run command below
  $ yarn docs
  1. Access the url - localhost:3334/api-docs

📝 License

This project is under MIT license. See the LICENSE file for more details.


Made with lots of ❤️ by Gabriel Ferrari Tarallo Ferraz