** Medium like application:**
This project is a basic replica of the popular blogging platform Medium, designed to provide a seamless and engaging user experience. Leveraging a modern tech stack, this application prioritizes scalability, performance, and security, making it ideal for bloggers and readers alike.
- Frontend: React
- Backend: Cloudflare Workers
- Validation Library: Zod
- Language: TypeScript
- ORM: Prisma
- Database: PostgreSQL
- Authentication: JWT
- Responsive User Interface: A clean and intuitive design that works on all devices.
- Serverless Backend: Low-latency responses with automatic scalability to handle varying traffic.
- Robust Data Validation: Ensures data integrity and security through thorough validation using Zod.
- Type Safety: Static type-checking with TypeScript enhances developer productivity and reduces runtime errors.
- Optimized Database Interactions: Efficient data fetching and manipulation through Prisma.
- Secure Authentication: JWT-based authentication to ensure user security and session management.
A common module has been implemented to export Zod validation and type inference to both the backend and frontend. This ensures consistency and reusability of validation logic across the application, simplifying maintenance and enhancing code quality.
To get a local copy of this project up and running, follow these steps:
- Clone the repository:
git clone https://github.com/your-username/medium-clone.git cd medium-clone
- Install the dependencies:
npm install
- Set up your environment variables (create a
.env
file based on the.env.example
). - Start the development server:
npm start
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeatureName
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/YourFeatureName
- Open a pull request.