> For the complete documentation index, see [llms.txt](https://samayun.gitbook.io/architect-express-app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://samayun.gitbook.io/architect-express-app/what-is-done.md).

# What is done

<details>

<summary>➡️ Architecture</summary>

✅ Modular way

✅ Monolithic - Layered Architechture (3 Tier, actually 2 tier implemented here)

</details>

<details>

<summary>➡️ Design Patterns</summary>

* [x] MVC - Model View Controller
* [x] Singleton Pattern- global sharable instance suppose one database in whole application
* [x] Facade Pattern - multiple database connection with same functionality
* [x] Service Repository Pattern

</details>

<details>

<summary>➡️ Languages/Framework/Library</summary>

* Language: ↪️ [Node.js](https://nodejs.org/en) as JS server side runtime
* Framework: ↪️ [Express.js](https://expressjs.com) as web framework
* Database: ↪️ [MongoDB](https://www.mongodb.com) as NoSQL Database
* Documentation: ↪️ [Swagger](https://swagger.io)

</details>

<details>

<summary>➡️  Virtualization</summary>

* Build Container by Docker : `make build` or `docker build . -t samayun/penguin`
* Run Container by Docker: `make run` or `docker run -p 5000:8080 -d samayun/penguin`

</details>
