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:56] – [Repository Structure] 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 66: Line 104:
 Repeat the same steps for: Repeat the same steps for:
  
-  *+  * ''@cotrav/errors'' 
 +  * ''@cotrav/middlewares'' 
 +Only **business logic differs**, structure remains identical.
  
-''@cotrav/errors'' +====== Creating a Service ======
-  *+
  
-''@cotrav/middlewares'' +Example: ''auth-service'' 
-Only **business logic differs**, structure remains identical.+ 
 +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.1768823814.txt.gz · Last modified: by pradnya