Next steps testing and deployment (Render or https://t.co/9cJUt5zNqp).
This project really sharpened my NestJS + Prisma skills, and Iโm excited to keep building
Completed my Notes App with NestJS
Authentication & Authorization
Implemented with useGuards(SessionAuthGuard) for session-based protection.
Register, login, and secure user profile routes.
#backend#nodejs#nestjs
Notes Module
Authenticated users can create, update, and delete notes.
Everyone can view all notes or a single note.
Database
Built with Prisma + SQLite (with migrations).
ODMS (Object Document Mappers): Tools like Mongoose for working with document databases (e.g., MongoDB).
NestJS + Prisma + SQLite is a simple yet powerful combo to kickstart backend projects like a Notes app.
Building a Basic Notes App with NestJS, SQLite & Prisma
Scaffolding: Generate your NestJS project and set up modules, controllers & services.
Package Installation: Install dependencies like @nestjs/prisma, @prisma/client, and sqlite
#NestJS#Prisma#SQLite#BackEndDevelopment
Prisma Setup: Initialize Prisma, define your schema, and run migrations.
Along the way, itโs important to understand:
Databases: Where data lives (e.g., SQLite, Postgres, MongoDB).
ORMS (Object Relational Mappers): Tools like Prisma or TypeORM that help manage relational DBs.
Exception Filters Handle & format errors globally or locally.
Pipes Transform & validate incoming data.
Guards Authorize requests before route handling.
Interceptors Transform outgoing responses or handle extra logic.
Custom Decorators Reusable metadata-driven utilities.
Core Concepts
Controllers Handle incoming requests & return responses.
Providers Services for business logic & dependency injection.
Modules Organize your app into feature-based units.
Middleware Logic before request reaches controllers (logging, auth).
Software Design Patterns Simplified
In software engineering, a pattern is a proven reusable solution to a common problem in software design. They help make your code more maintainable, scalable, and flexible.
#nodejs#backend#kodecamp
Structural Patterns
Adapter Translates one interface into another so classes can work together without changing existing code. Think of it as a โplug adapterโ for code.
Behavioral Patterns
Focus on how objects communicate and interact. Examples: Observer, Strategy, Command.
Iโve been diving into CI/CD with GitHub Actions and exploring how to enforce code styles automatically in my projects.
Along the way, I learned about:
-What refactoring is
-How to spot and reduce technical debt
...
#SoftwareEngineering#kodecamp#backend#NodeJS
-When and how to refactor code
Setting up automation to keep code clean and consistent
To apply it, I refactored a small codebase and used GitHub Actions to enforce code standards automatically on every push. It's amazing how small changes can drastically improve code...
Downgrading to JS using tsdown
Enforcing code style and quality with ESLint, Prettier, and Husky
TypeScript is more than types it's a whole ecosystem. Loving the structure and confidence it brings to my codebase
#TypeScript#WebDevelopment#Nodejs
This past week, I deepened my TypeScript journey and explored some powerful tools and concepts:
-Working with functions and classes in TypeScript
-Configuring projects with **tsconfig.json**
-Running TS directly using ts-node
Writing JSX with .tsx files...
3 Must-Know TypeScript Features
Type Aliases : Create custom names for complex or repetitive types.
Interfaces : Define the structure of objects and enforce consistency.
Generics : Build flexible, reusable, and type safe components & functions.
#backend#nodejs#kodecamp