Conduit API — navigation (hexagonal / ports and adapters)
Each concern has a known location:
src/domain/entities/— domain entities (Article, User, Comment).src/domain/repositories/— repository INTERFACES (ports): IArticleRepository, IUserRepository, ICommentRepository, ITagRepository.src/application/services/— business logic / use-cases: ArticleService, UserService, ProfileService, CommentService, TagService. Article response building, which includes thefavoritedand authorfollowingflags, is inArticleService.src/infrastructure/repositories/— Prisma repository ADAPTERS (PrismaArticleRepository, …).src/infrastructure/security/—JwtTokenService(token sign / verify),PasswordHasher.src/infrastructure/utils/—SlugGenerator(slug generation and uniqueness).src/presentation/controllers/— HTTP controllers.src/presentation/routes/— Express route wiring.src/presentation/middleware/AuthMiddleware.ts— authentication middleware (verifies the request token).src/DependencyContainer.ts— composition root.prisma/schema.prisma— data model (Article.slug is unique).