{"id":30708510,"url":"https://github.com/alvinscheibe/fastify-ddd","last_synced_at":"2026-05-06T17:33:26.189Z","repository":{"id":308032943,"uuid":"1031030149","full_name":"alvinscheibe/fastify-ddd","owner":"alvinscheibe","description":"🚧 A study project implementing Domain-Driven Design (DDD) architecture using Fastify and TypeScript. This repository explores best practices for structuring scalable backend applications.","archived":false,"fork":false,"pushed_at":"2025-09-11T02:04:29.000Z","size":181,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-11T05:48:48.712Z","etag":null,"topics":["api-rest","ddd-architecture","domain-driven-design","fastify","nodejs","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alvinscheibe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-02T21:16:33.000Z","updated_at":"2025-09-11T02:04:32.000Z","dependencies_parsed_at":"2025-08-22T22:14:56.612Z","dependency_job_id":"1a567cf9-04ed-4b1d-a220-a0962269b51f","html_url":"https://github.com/alvinscheibe/fastify-ddd","commit_stats":null,"previous_names":["alvinscheibe/fastify-ddd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alvinscheibe/fastify-ddd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvinscheibe%2Ffastify-ddd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvinscheibe%2Ffastify-ddd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvinscheibe%2Ffastify-ddd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvinscheibe%2Ffastify-ddd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alvinscheibe","download_url":"https://codeload.github.com/alvinscheibe/fastify-ddd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvinscheibe%2Ffastify-ddd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32704384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T08:33:17.875Z","status":"ssl_error","status_checked_at":"2026-05-06T08:33:17.221Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-rest","ddd-architecture","domain-driven-design","fastify","nodejs","typescript"],"created_at":"2025-09-02T22:01:49.804Z","updated_at":"2026-05-06T17:33:26.184Z","avatar_url":"https://github.com/alvinscheibe.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fastify DDD Study Project\n\nThis project is a work-in-progress study aimed at implementing an API architecture using **Domain-Driven Design (DDD)** principles with **Fastify** and **TypeScript**.\n\n## Description\n\nThe main goal of this project is to deepen the understanding and practical application of DDD concepts in Node.js backend development. Inspired by modern architecture patterns, the structure is designed to be scalable, maintainable, and oriented around the business domain.\n\n\u003e **Note:** This project is under active development. Feedback and suggestions are welcome!\n\n## Project Structure\n\nThe codebase is organized according to DDD principles, separating responsibilities into distinct layers:\n\n- **Domain:** Contains core business entities, value objects, and repository interfaces.\n- **Application:** Encapsulates use cases and application services.\n- **Infra:** Holds concrete implementations for repositories, controllers, database configuration, and integrations with external services.\n- **Interfaces:** Deals with external communication, including DTOs, mappers, validators, and presentation-layer controllers.\n\n```\nsrc/\n  ├── domain/\n  ├── application/\n  ├── infra/\n  └── interfaces/\n```\n\n## Technologies Used\n\n- **Node.js v20**: JavaScript runtime.\n- **Fastify**: High-performance Node.js web framework.\n- **TypeScript**: Static typing for JavaScript.\n- **Commitlint**: Linting for commit messages.\n- **ESLint**: Static code analysis for code quality.\n- **Prettier**: Code formatting.\n- **Husky**: Git hooks for enforcing code standards.\n\n## Getting Started\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/) (v20 or higher)\n- Yarn (package manager, installed globally)\n\n### Installation\n\nClone the repository:\n```bash\ngit clone https://github.com/alvinscheibe/fastify-ddd.git\n```\n\nNavigate to the project directory:\n```bash\ncd fastify-ddd\n```\n\nInstall dependencies:\n```bash\nyarn\n```\n\n### Usage\n\nTo start the development server:\n```bash\nyarn dev\n```\n\nBy default, the server will be available at [http://localhost:3333](http://localhost:3333)  \nAPI documentation should be accessible at [http://localhost:3333/docs](http://localhost:3333/docs) if enabled.\n\n## License\n\nThis project is intended for educational purposes and does not have a specific license yet.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falvinscheibe%2Ffastify-ddd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falvinscheibe%2Ffastify-ddd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falvinscheibe%2Ffastify-ddd/lists"}