A fully functional Medium-like platform built using modern web technologies. This project focuses on providing a rich, interactive experience for users to create and share content, following the same core principles as Medium.
- Overview
- Technologies
- Packages & Libraries Used
- Getting Started
- Setup
- Features
- Demo & Screenshots
- Acknowledgments
- License
A modern web application inspired by Medium, allowing users to create, share, and interact with content. This project incorporates user authentication, rich text editing, and a sleek UI, making it a robust and scalable platform.
Below is a breakdown of the core technologies used in this project.
🌐 Web Framework | Backend | Database | Language |
---|---|---|---|
React.js | Cloudflare Worker | Postgres SQL | TypeScript |
This project uses the following essential libraries and packages:
Package / Library | Purpose |
---|---|
Hono |
Lightweight web framework |
Prisma ORM |
Database ORM |
Prisma Accelerates |
Optimized Prisma Pooling |
Axios |
API requests |
React-Router-Dom |
Frontend routing |
Tailwind CSS |
Styling framework |
zod |
Schema validation |
Follow these steps to set up the project in your local environment:
- Clone the repository:
git clone https://github.com/Jenil-Desai/medium-clone.git
- Install dependencies:
cd common npm install cd ../backend npm install cd ../frontend npm install
- Configure Envirmental Variables by creating
.env
and add :DATABASE_URL="Your Postgres Database Direct URL"
- Add Other ENVs into
backend/wrangler.toml
as :[vars] DATABASE_URL="Your Prisma Accelrated URL" JWT_SECRET="Unique JWT Secret"
- Start the project backend:
cd backend npm run dev
- Start the project frontend:
ccd frontend npm run dev
- Access the application at
localhost:5173
and explore the website.
Explore the unique features available in this application:
- 🔐 User Authentication with JWT:
- Secure login and signup process using JSON Web Tokens.
- ✍️ Create and Read Articles:
- Rich functionality for users to create articles and read published ones.
- 📝 Rich Text Editing:
- Intuitive text editor for drafting articles.
We’d like to thank the following resources:
- Harkirat 100xDevs Course - Backend development.
- Hono Docs - Framework documentation.
- Cloudflare Workers Docs - Serverless platform documentation.
This project is licensed under the MIT License. See the LICENSE file for details.