Note - The Prisma Accelerate Limit has been reached by this application thus resulting in it not running properly
This project is a full-stack, feature-rich blogging platform built with modern web technologies. It provides a seamless experience for content creators and readers alike, with a focus on performance, user experience, and scalability.
- User Authentication: Secure signup, login, and password reset functionality.
- Profile Management: Users can create and edit their profiles, including profile pictures.
- Blog Creation and Editing: Rich text editor with support for formatting, images, and mathematical equations.
- Comment System: Users can engage with content through a nested comment system.
- Like and Save Functionality: Readers can like posts and save them for later reading.
- Follow System: Users can follow their favorite authors.
- Responsive Design: Fully responsive interface that works seamlessly on desktop and mobile devices.
- Pagination: Efficient loading of blog posts and comments through pagination.
- Draft Saving: Automatic saving of drafts to prevent loss of work.
- Social Sharing: Easy sharing of blog posts to various social media platforms.
- React: For building a dynamic and responsive user interface.
- TypeScript: For adding static typing and improving code quality.
- Tailwind CSS: For rapid and customizable styling.
- Framer Motion: For smooth animations and transitions.
- React Hook Form: For performant and flexible form handling.
- React Router: For seamless client-side routing.
- Cloudfare Worker Functions: As the runtime environment.
- Hono: For building on edge environments.
- Postgress SQL: As the database for storing user data and blog posts.
- Prisma ORM: For object modeling and managing database schemas.
- Prisma Accelerate: For connection pooling
- JSON Web Tokens (JWT): For secure authentication.
- Zod - For runtime input validation
- ESLint: For code linting and maintaining code quality.
- Cloudfare Workers: To deploy the backend.
- Vercel: To deploy the frontend
The project follows a microservices architecture, with separate services for authentication, blog management, and user profiles. This approach ensures scalability and ease of maintenance.
- Implemented JWT for secure authentication.
- Implemented CORS policies to control access to the API.
- Sanitized user inputs to prevent XSS attacks.
- Adopted a minimalist design language for a clean and modern look.
- Used a modular component structure for reusability and maintainability.
- Implemented a responsive design system using Tailwind CSS for consistent styling across devices.
- Implemented a real-time comment system.
- Optimized database queries for handling large volumes of blog posts and comments.
- Implemented a rich text editor with support for mathematical equations.
- Implement a recommendation system using machine learning.
- Add support for multiple languages and localization.
- Integrate a analytics dashboard for authors to track their blog performance.
- Implement a plugin system for extending blog functionality.
# Clone the repository
git clone https://github.com/yourusername/quickmark.git
# Install dependencies
cd backend
npm install
# Set up environment variables in wrangler.toml
cp wrangler.toml
# Edit wrangler.toml with your database prisma accelerate connection link and JWT secret key
# Run the development server
npm run dev
# Install frontend dependencies
cd ..
cd frontend
npm install
npm run dev
# Build for production
npm run build
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
Ishaan Goyal - goyalishaan2005@gmail.com
Thank you for checking out our project! We're constantly working to improve and expand its capabilities. If you have any questions or feedback, please don't hesitate to reach out.