An open API service indexing awesome lists of open source software.

https://github.com/gauravthebeginner/medium

Medium
https://github.com/gauravthebeginner/medium

cloudflare-workers hono jwt-authentication postgresql prisma reactjs typrescript

Last synced: 12 months ago
JSON representation

Medium

Awesome Lists containing this project

README

          

# Full Stack Medium-like Blog Application

This project is a full stack application resembling a blog platform similar to Medium, built with modern technologies for both the frontend and backend.

## Technologies Used

- **Frontend:**
- React: A popular JavaScript library for building user interfaces.
- Zod: A TypeScript-first schema validation library for TypeScript developers.
- TypeScript: A superset of JavaScript that adds static typing to the language.

- **Backend:**
- Cloudflare Workers: A serverless platform for deploying applications at the edge of the network.
- Prisma: A modern ORM (Object-Relational Mapping) tool for TypeScript and Node.js.
- Postgres: A powerful open-source relational database system.
- JWT (JSON Web Tokens): A standard for creating access tokens for securely transmitting information between parties.

## Features

- User Authentication: JWT-based authentication system for secure user login and session management.
- CRUD Operations: Create, Read, Update, and Delete operations for managing blog posts.
- Validation: Zod for frontend input validation to ensure data integrity.
- Connection Pooling: Prisma's connection pooling for efficient database connections.
- Cloudflare Edge Deployment: Utilizing Cloudflare Workers for scalable and efficient backend operations.

## Getting Started

To get started with the project, follow these steps:

1. Clone this repository`
2. Install dependencies for both frontend and backend.
3. Set up your PostgreSQL database and configure Prisma accordingly.
4. Configure JWT for authentication.
5. Deploy your Cloudflare Workers application.
6. Start the frontend and begin developing your blog application!

## Contribution

Contributions are welcome! If you find any bugs or want to add new features, feel free to open an issue or submit a pull request.

## License

This project is licensed under the [MIT License](LICENSE).