Skip to content

FilipFekete/acquisitions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—οΈ Acquisitions

A modern backend architecture showcasing clean engineering practices, robust CI/CD automation, and cloud-ready deployment using Docker and GitHub Actions.

This repository demonstrates full-cycle backend development β€” from RESTful API design and authentication to automated testing, containerization, and continuous integration pipelines.
It’s structured to serve as both a production-ready backend template and a portfolio development piece.


πŸš€ Highlights

  • βš™οΈ Modular Node.js + Express API with scalable architecture
  • 🧩 MVC pattern using controllers, middleware, and models
  • 🧠 Drizzle ORM for type-safe and elegant database access
  • 🧰 Comprehensive CI/CD pipelines via GitHub Actions
  • πŸ§ͺ Automated testing powered by Jest & Supertest
  • 🧹 Code quality enforcement using ESLint + Prettier
  • 🐳 Dockerized environment for consistent dev and production builds
  • ☁️ DockerHub integration for seamless image deployment
  • πŸ”’ Security-focused middleware with Helmet, JWT & Zod validation
  • 🧾 Documentation-first approach with clear prerequisites and setup guides

πŸ› οΈ Tech Stack

🧩 Backend

Node.js Express Drizzle ORM JWT bcrypt Zod

  • Node.js + Express.js β€” Production-ready REST API foundation
  • Drizzle ORM β€” Type-safe SQL toolkit for PostgreSQL or MySQL
  • JWT (jsonwebtoken) β€” Secure token-based authentication
  • bcrypt β€” Hashes and verifies passwords securely
  • Zod β€” Schema validation for requests (e.g. sign-up, login forms)

🧰 Utilities & Middleware

Winston Helmet Morgan CORS Cookie Parser

  • Winston β€” Configurable logging with transport support
  • Helmet β€” HTTP header hardening for security
  • Morgan β€” Request logging middleware
  • CORS β€” Cross-Origin Resource Sharing support
  • cookie-parser β€” Cookie handling for authentication and sessions

πŸ§ͺ Testing & Quality

Jest Supertest ESLint Prettier

  • Jest β€” Unit and integration testing framework
  • Supertest β€” HTTP assertions for testing API endpoints
  • ESLint + Prettier β€” Code linting and consistent formatting

☁️ DevOps / Deployment

Docker Docker Compose GitHub Actions DockerHub

  • Docker β€” Containerization for environment consistency
  • Docker Compose β€” Dev & Prod configuration separation
  • GitHub Actions β€” Automated CI/CD pipelines
  • DockerHub β€” Continuous delivery for container images

🧾 CI/CD Overview (GitHub Actions)

Workflows

  • lint-and-format.yml β€” ESLint + Prettier checks for consistent code style
  • tests.yml β€” Runs Jest + Supertest tests and publishes coverage
  • docker-build-and-push.yml β€” Builds the Docker image and pushes to DockerHub

Stages

Stage Tooling Outcome
Lint & Format ESLint, Prettier Enforced code quality & style
Test & Coverage Jest, Supertest Regressions caught early, coverage tracked
Build & Package Docker Reproducible, portable image
Publish DockerHub Image available for deployments

🧩 Architecture & Best Practices

  • Clean layering: routes β†’ controllers β†’ services β†’ models
  • Validation: Zod-based schemas for safe request parsing
  • Security: Helmet, JWT auth middleware, CORS, cookie-parser
  • Logging: Winston logger with transports and log levels
  • Config & Observability: Environment-based configuration and centralized logging
  • Migrations: Drizzle SQL + metadata tracking (drizzle/)
  • Developer ergonomics: ESLint, Prettier, shell scripts for dev/prod workflows
  • Scalability: Modular service layer and reusable middleware

πŸ› οΈ Packages Used

Package Purpose
express Core web framework
drizzle-orm Type-safe database ORM
jsonwebtoken (JWT) Auth middleware for token validation
bcrypt Secure password hashing
zod Validation schema for signup/login
helmet Security headers
morgan HTTP request logger
cors Cross-origin resource sharing
cookie-parser Cookie parsing & management
winston Structured logging
jest Testing framework
supertest API endpoint testing

Local Deployment

Follow Prerequisites.md

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors