Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yerinadler/typescript-ddd-sample-app
This project demonstrates the implementation of Domain Driven Design concept in Typescript
https://github.com/yerinadler/typescript-ddd-sample-app
architecture boilerplate mongodb typescript
Last synced: 3 days ago
JSON representation
This project demonstrates the implementation of Domain Driven Design concept in Typescript
- Host: GitHub
- URL: https://github.com/yerinadler/typescript-ddd-sample-app
- Owner: yerinadler
- License: mit
- Created: 2020-12-23T08:30:26.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-04-07T05:11:25.000Z (over 3 years ago)
- Last Synced: 2023-03-09T08:21:53.968Z (over 1 year ago)
- Topics: architecture, boilerplate, mongodb, typescript
- Language: TypeScript
- Homepage:
- Size: 319 KB
- Stars: 15
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# TypeScript DDD API Boilerplate
Seed project (boilerplate) for RESTful API that leverages the concept of Domain Driven Design (DDD)### Foreword from the author
This API project utilises information from multiple sources to create the fine-tuned API product with the following objectives1. To build a maintainable enterprise grade application
2. The application that follows `SOLID` principles as much as possible
3. To build an pplication that benefits most of the stakeholders in an organisation### Architecture
This project uses DDD with Onion Architecture as illustrated in below images![](https://image.slidesharecdn.com/applifireblueprintguidelinesv22-151216102708/95/applifire-blue-print-design-guidelines-12-638.jpg?cb=1450261807)
### Technologies
1. Node.js
2. TypeScript
3. MongoDB with MongoDB native driver (mongodb package on NPM)
4. InversifyJS as an IoC container
5. Express (via Inversify Express Utils) as an API framework## Getting Started
To run the project, make sure you have these dependencies installed on your system1. Node.js v8 or later
2. Typescript with `tsc` command
3. Nodemon
4. ts-node
5. MongoDBYou also need to setup and initialise MongoDB database. Then, copy the `.env_example` file into `.env` file by firing the command
````bash
cp .env_template .env
````Do adjust the DB_NAME and MONGODB_URI to match your configuration then run
````bash
yarn dev
````