A clone of the popular blogging platform, Medium, built with modern web technologies. This project replicates the core functionality of Medium, allowing users to read, write, and publish articles.
- User Authentication : Sign up, log in, and manage user accounts using Tokens .
- Create and Edit Articles : Write, edit, and format blog posts using editor.
- Article Feed : View a list of articles posted by Others.
- Responsive Design : Optimized for both desktop and mobile devices.
- React.js: A JavaScript library for building user interfaces, primarily for creating the dynamic and responsive frontend of the application.
- TypeScript: A superset of JavaScript that adds static types, improving code quality, catching errors early, and enhancing the development experience.
- React Router DOM: A library that handles routing in React applications, enabling navigation between different pages and components without refreshing the browser.
- Express.js: A web application framework for Node.js used to create the backend server, handling routes, API requests, and responses.
- PostgreSQL: A powerful, open-source relational database system used for storing structured data like user accounts, articles, and interactions.
- Prisma: An ORM (Object Relational Mapper) used to interact with the PostgreSQL database, making it easy to define and manage database schemas and perform efficient queries.
- Prisma Accelerate: Enhances Prisma performance for production applications by speeding up query execution.
- Tailwind CSS: A utility-first CSS framework that enables rapid UI development with pre-defined styles for responsiveness, layout, and component styling.
- Cloudflare Workers: A serverless platform for running backend logic closer to the users, enabling faster performance and reducing latency by serving the application at the edge.
- Hono: A small, fast web framework for Cloudflare Workers, used for handling HTTP requests and building serverless APIs.
- Zod Validation: A TypeScript-first schema declaration and validation library, used to ensure that incoming data (e.g., form submissions or API requests) adheres to expected formats.
- Prisma ORM: Used for database interaction, enabling easy access and manipulation of PostgreSQL with TypeScript and automatic schema synchronization.