Blogify is a blogging platform inspired by Medium where users can sign in, write, and publish blogs. It provides an intuitive interface for content creators to share their thoughts, ideas, and stories with the world.
- User Authentication: Secure sign-in and sign-up with JWT-based authentication.
- Create and Manage Blogs: Users can create, edit, delete, and manage their blog posts.
- View Blogs: Visitors can browse and read blogs posted by users.
- Responsive Design: The platform is designed to be accessible and responsive across devices.
-
Frontend:
- React - A JavaScript library for building user interfaces.
- Tailwind CSS - A utility-first CSS framework for rapid UI development.
-
Backend:
- Node.js - A JavaScript runtime built on Chrome's V8 JavaScript engine.
- Hono - A minimal and flexible Node.js web application framework.
- Zod - For Validation of the requests.
- Postgressql - A SQL DataBase.
- Prisma - An open-source ORM for Node.js and TypeScript.
- JWT - JSON Web Tokens for user authentication.
-
Database:
- PostgreSQL - A powerful, open-source object-relational database system.
-
DevOps:
- Node.js and npm/yarn installed.
- PostgreSQL installed and running.
- Docker (optional, if you want to containerize the app).
-
Clone the repository:
git clone https://github.com/hegdeadithyak/Blog-API.git cd Blog-API
-
Install dependencies:
npm install # or yarn install
-
Set up the database:
- Create a PostgreSQL database.
- Configure the
.env
file with your database credentials.
-
Run migrations:
npx prisma migrate dev
-
Start the development server:
npm run dev # or yarn dev
The app will be running on http://localhost:3000.
-
Docker:
To run the app in a Docker container:
docker build -t blogify . docker run -p 3000:3000 blogify
-
Vercel:
Deploy the frontend to Vercel with a single command:
vercel
- Sign up or sign in to create your account.
- Start writing and publishing your blogs.
- Browse blogs created by other users.
Contributions are welcome! Please fork the repository and submit a pull request for any enhancements, bug fixes, or new features.
This project is licensed under the MIT License. See the LICENSE file for more details.