User Tools

Site Tools


cotrav_monorepo_package_creation_service_build_guide

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cotrav_monorepo_package_creation_service_build_guide [2026/01/19 11:57] – [Creating Error & Middleware Packages] pradnyacotrav_monorepo_package_creation_service_build_guide [2026/01/27 08:38] (current) – [Cotrav Monorepo – Package Creation & Service Build Guide] pradnya
Line 1: Line 1:
 ====== Cotrav Monorepo – Package Creation & Service Build Guide ====== ====== Cotrav Monorepo – Package Creation & Service Build Guide ======
  
-This document describes **how to create shared packages and build/run services** in the Cotrav monorepo. It is **Confluence-ready** and can be pasted directly.+This document describes **how to create shared packages and build/run services** in the Cotrav monorepo. This is a centralizes multiple distinct projects, libraries, and apps into a single, unified repository, enabling easier code sharing, dependency management, and consistent tooling/standards across teams. 
 + 
 +Git - [[https://github.com/novusvinod/cotrav-services.git|https://github.com/novusvinod/cotrav-services.git]] 
 + 
 ===== Repository Structure ===== ===== Repository Structure =====
  
Line 23: Line 27:
  
 </code> </code>
 +
 ===== Prerequisites ===== ===== Prerequisites =====
  
Line 43: Line 48:
 cmd cmd
 <code> <code>
 +
 npm install npm install
 +
 +</code>
 +
 +===== Install Dependencies =====
 +
 +==== Logger ====
 +
 +<code>
 +npm install pino
 +
 +npm install -D @types/node
 +
 +</code>
 +
 +Error
 +
 +<code>
 +npm install -D @types/node
 +
 +</code>
 +
 +==== Middleware ====
 +
 +<code>
 +npm install express
 +
 +npm install -D @types/express @types/node
 +
 </code> </code>
  
Line 52: Line 86:
 cmd cmd
  
-<code>npm run build --workspace=packages/logger+<code> 
 +npm run build --workspace=packages/logger 
 </code> </code>
  
Line 59: Line 95:
 cmd cmd
  
-<code>npm run build --workspace=packages/errors+<code> 
 +npm run build --workspace=packages/errors 
 </code> </code>
  
Line 69: Line 107:
   * ''@cotrav/middlewares''   * ''@cotrav/middlewares''
 Only **business logic differs**, structure remains identical. Only **business logic differs**, structure remains identical.
 +
 +====== Creating a Service ======
 +
 +Example: ''auth-service''
 +
 +Folder Creation
 +
 +<code>
 +cd workspace
 +mkdir auth-service
 +cd auth-service
 +npm init -y
 +
 +</code>
 +
 +Service ''package.json''
 +
 +<code>
 +{
 +"name": "auth-service",
 +"version": "1.0.0",
 +"private": true,
 +"type": "commonjs",
 +"scripts": {
 +"dev": "ts-node src/app.ts",
 +"build": "tsc",
 +"start": "node dist/app.js"
 +},
 +"dependencies": {
 +"express": "^5.0.0",
 +"dotenv": "^17.0.0",
 +"@cotrav/logger": "*",
 +"@cotrav/errors": "*",
 +"@cotrav/middlewares": "*"
 + }
 +}
 +
 +</code>
 +
 +==== Install Dependencies ====
 +
 +<code>
 +npm install
 +
 +npm install -D typescript
 +
 +npm install express dotenv jsonwebtoken bcryptjs swagger-ui-express swagger-jsdoc pino
 +
 +</code>
 +
 +Type deps
 +
 +<code>
 +npm install -D
 +@types/express
 +@types/node
 +@types/jsonwebtoken
 +@types/bcryptjs
 +@types/swagger-ui-express
 +
 +</code>
 +
 +==== Build Services & Packages ====
 +
 +Execute below command on root folder "cotrav-services"
 +
 +<code>
 +npm run build
 +
 +npm run typecheck
 +
 +</code>
 +
 +==== Run auth service in dev ====
 +
 +<code>
 +npm run dev:auth
 +
 +</code>
 +==== Clean all builds ====
 +
 +<code>npm run clean
 +</code>
 +
 +==== Sanity check (must work) ====
 +
 +<code>npm workspaces list
 +</code>
  
  
cotrav_monorepo_package_creation_service_build_guide.1768823849.txt.gz · Last modified: by pradnya