About This Project

Welcome to Blog App

This is a modern, full-stack blog application built to demonstrate best practices in web development. It showcases the power of combining a robust backend with a sleek, responsive frontend.

The application allows users to create, read, and browse blog posts with a clean and intuitive interface. Behind the scenes, it leverages caching for optimal performance and a reliable database for data persistence.

Technology Stack

Backend

  • āœ“
    Node.js & Express.js

    RESTful API with Express framework

  • āœ“
    PostgreSQL

    Reliable relational database for data storage

  • āœ“
    Prisma ORM

    Type-safe database client with migrations

  • āœ“
    Redis

    In-memory caching for improved performance

Frontend

  • āœ“
    Next.js 16

    React framework with App Router

  • āœ“
    TypeScript

    Type-safe JavaScript for better development

  • āœ“
    Tailwind CSS

    Utility-first CSS framework for styling

Key Features

Fast Performance

Redis caching ensures quick response times

Responsive Design

Works seamlessly on all devices

Error Handling

Comprehensive error handling and validation

Clean UI/UX

Intuitive and modern user interface

Architecture

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│   Next.js Frontend  │  ← You are here
│   (Port 3000)       │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
           │ HTTP/REST API
           ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│   Express Backend   │
│   (Port 5001)       │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¬ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
           │
           ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
           │                     │
           ā–¼                     ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”   ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│   PostgreSQL     │   │      Redis       │
│   (Port 5432)    │   │   (Port 6379)    │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜   ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

API Endpoints

GET/health- Check system health
POST/posts- Create a new post
GET/posts- Get all posts
GET/posts/:id- Get specific post