Blogify is a robust blog application featuring secure user authentication, user and tag following functionalities, and integration with AWS S3 for image posting, retrieval, and deletion. It is deployed on Cloudflare Workers with a PostgreSQL database utilizing connection pooling.
-
User Authentication:
- Secure authentication system for users to sign up, log in, and log out.
- Passwords are securely hashed and stored.
-
User-Authenticated Blogging:
- Authenticated users can create, edit, and delete their blog posts.
- Users have their own personalized dashboard for managing their posts.
-
User and Tag Following:
- Users can follow other users to receive updates on their posts.
- Users can also follow specific tags to see posts related to those tags in their feed.
-
AWS S3 Integration:
- Integration with AWS S3 enables users to upload images for their blog posts.
- Images are securely stored and can be retrieved and deleted as needed.
-
Cloudflare Workers Deployment:
- Deployed on Cloudflare Workers for scalability, reliability, and global distribution.
- Utilizes Cloudflare's edge network for fast response times.
-
PostgreSQL Database with Connection Pooling:
- Utilizes PostgreSQL database for data storage.
- Connection pooling optimizes database connections for improved performance.
-
Frontend:
- Contains the frontend codebase built with modern JavaScript frameworks like React.js or Vue.js.
- Responsible for the user interface and interaction with the backend.
-
Cloudflare Backend:
- Houses the backend logic implemented using Cloudflare Workers.
- Handles user authentication, blog post management, user interactions, and integration with AWS S3.
-
Common:
- Contains shared code and types used across both frontend and backend.
- Includes Zod validation schemas for ensuring data integrity and consistency.
-
Image Upload Service:
- Manages the image upload functionality, integrating with AWS S3 for storing and retrieving images.
- Ensures secure handling of image files and provides endpoints for frontend integration.
- Clone the repository.
- Set up AWS S3 bucket for image storage and obtain necessary credentials.
- Configure Cloudflare Workers with your account and obtain API tokens.
- Set up a PostgreSQL database and configure connection pooling settings.
- Install dependencies for frontend and backend.
- Configure environment variables for AWS S3, Cloudflare Workers, and PostgreSQL database.
- Run the frontend and backend servers.
- Access the application through the provided URL.
aarindey