Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jamesbrel/node_clean_and_modular_arch
Clean, modular architecture is a particularly interesting concept... for a project that is structured, maintainable and scalable without a hitch...
https://github.com/jamesbrel/node_clean_and_modular_arch
clean-architecture express inversify inversify-express javascript modularization nodejs typescript
Last synced: about 2 months ago
JSON representation
Clean, modular architecture is a particularly interesting concept... for a project that is structured, maintainable and scalable without a hitch...
- Host: GitHub
- URL: https://github.com/jamesbrel/node_clean_and_modular_arch
- Owner: JamesBrel
- License: mit
- Created: 2024-02-02T12:59:13.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-05-29T01:00:03.000Z (7 months ago)
- Last Synced: 2024-05-29T15:07:16.934Z (7 months ago)
- Topics: clean-architecture, express, inversify, inversify-express, javascript, modularization, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 70.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Node Server : Clean and Modular Architecture
### Author : James Brel
### Contact : [email protected]
------
## Architecture
the architecture of each feature is based on the clean architecture of Uncle Bob which is constituted mainly of 3 layers :
- Data
- Domain
- Controllers
```
π¦features
β πsay_hello_to_world
β β£ πcontrollers
β β£ πdata
β β πdomain
```## General Folder Structure Tree
```
π¦project
β£ π.vscode
β β πsettings.json
β£ πenvs
β β£ πdev.env
β β£ πprod.env
β β πstaging.env
β£ πlib
β β£ πsrc
β β β£ πcore
β β β β£ πconfigs
β β β β β£ πinversify.config.ts
β β β β β£ πmiddle.config.ts
β β β β β πserver.config.ts
β β β β πinit.ts
β β β£ πmodules
β β β β πhello_mod
β β β β β πfeatures
β β β β β β πsay_hello_to_world
β β β β β β β£ πcontrollers
β β β β β β β β πsay_hello_to_world_controller.ts
β β β β β β β£ πdata
β β β β β β β β£ πdata_source
β β β β β β β β β£ πimpls
β β β β β β β β β β πhello_to_world_impl.ts
β β β β β β β β β πinterfaces
β β β β β β β β β β πhello_to_world_inter.ts
β β β β β β β β£ πmodels
β β β β β β β β β π.gitkeep
β β β β β β β β πreposit_impls
β β β β β β β β β πsystem_greet_the_world_reposit_impl.ts
β β β β β β β πdomain
β β β β β β β β£ πentities
β β β β β β β β β π.gitkeep
β β β β β β β β£ πreposit_interfaces
β β β β β β β β β πsystem_greet_the_world_reposit_inter.ts
β β β β β β β β πusecases
β β β β β β β β β πsay_hello_word_usecase.ts
β β β πshared
β β β β£ πconstants
β β β β β£ πapi.const.ts
β β β β β£ πnumber.const.ts
β β β β β£ πstring.const.ts
β β β β β πversion.const.ts
β β β β£ πextensions
β β β β£ πglobal
β β β β β πstring.variable.ts
β β β β£ πlogs
β β β β β πlogger.ts
β β β β£ πmiddlewares
β β β β πservices
β β β β β£ πimages
β β β β β πsecurity
β β πindex.ts
β£ πtest
β β π.gitkeep
β£ π.eslintignore
β£ π.eslintrc
β£ π.gitignore
β£ π.prettierignore
β£ π.prettierrc
β£ πbabel.config.json
β£ πjest.config.json
β£ πnodemon.json
β£ πpackage.json
β£ πreadme.md
β£ πtsconfig.json
β πtypedoc.json
```## Usage and Configuration
After downloading or cloning the Git Repository
1. go to the **project** folder and copy all the content in your server's project
2. go into your **package.json file**, fill the following points:
- "name" : Specify the Project Name
- "description" : Specify the Project Description
- "url" : "git+url" (complete the url line with the git url of your repository)
- "author" : Specify the Project Author (Organisation name)
3. and type ***npm install*** to install all packages of Dependencies and Dev_Dependencies---
Copyright Β© 2024 James Brel All Rights Reserved