Full-Stackblog-platformcontent-management

TextNode

Blogging Platform

Overview

TextNode is a modern full-stack blogging platform featuring a public reader interface and a private editor dashboard for authors to create and manage articles.

Screenshot 1
Screenshot 2

Technologies

ViteViteReactReactTypeScriptTypeScriptTailwind CSSTailwindshadcn/uishadcn/uiZustandZustandAxiosAxiosReact QueryReact QueryReact Hook FormReact Hook FormTinyMCETinyMCEZodZodNode.jsNode.jsExpressExpressPrismaPrismapinoPinoPostgreSQLPostgreSQL

Highlights

  • Two independent frontends (reader & editor) consuming the same API
  • DDD‑inspired backend with clear domain, application, and infrastructure layers
  • Explicit use cases and centralized authorization
  • Zod‑based validation shared across frontend forms and API boundaries
  • Role‑based author dashboard with draft, publish, and moderation workflows
  • Rate limiting, structured logging, and cookie‑based JWT authentication

Challenges

  • Refactoring an early‑career codebase without breaking existing behavior
  • Separating domain logic from Express and Prisma concerns
  • Keeping frontend and backend validation fully aligned
  • Managing authenticated flows across two separate frontend applications

Lessons Learned

  • Applying Domain‑Driven Design pragmatically in a real project
  • Designing backend architectures that scale without rewrites
  • Structuring monorepos with multiple frontends and a shared API
  • Centralizing cross‑cutting concerns like validation, auth, and rate limiting
  • Balancing architectural clarity with avoiding over‑engineering

Future Improvements

  • Image uploads and media management via Cloudinary
  • Shared frontend packages for UI, hooks, and schemas
  • Expanded moderation and analytics tooling
  • Automated testing for domain and application layers

Interested in this project?

Check out the live demo or explore the repository.