https://github.com/patoski-patoski/bloggify
A full stack blog built using JWT application, Express and Mongoose
https://github.com/patoski-patoski/bloggify
under-construction under-development
Last synced: 3 months ago
JSON representation
A full stack blog built using JWT application, Express and Mongoose
- Host: GitHub
- URL: https://github.com/patoski-patoski/bloggify
- Owner: Patoski-patoski
- Created: 2024-11-09T19:50:53.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-02-06T05:43:19.000Z (3 months ago)
- Last Synced: 2025-02-06T06:28:58.274Z (3 months ago)
- Topics: under-construction, under-development
- Language: EJS
- Homepage: https://bloggify-s5k4.onrender.com
- Size: 897 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Bloggify
Bloggify is a full-stack blogging application that allows users to create, manage, and share blog posts. Built with a focus on simplicity and usability, Bloggify employs a modern tech stack to provide a seamless experience for both developers and users.
## Features
- **User Authentication**: Secure login and registration using JSON Web Tokens (JWT).
- **CRUD Operations**: Create, Read, Update, and Delete blog posts with ease.
- **Slug-based URLs**: Access blog posts via user-friendly slugs.
- **User Management**: Each user can manage their own blog posts.## Technology Stack
- **Frontend**: HTML, CSS, Bootstrap, JavaScript
- **Backend**: Node.js with Express.js
- **Database**: MongoDB, accessed through Mongoose
- **Authentication**: JSON Web Tokens (JWT)## Installation
To get started with Bloggify, follow these steps:
1. **Clone the repository**:
```bash
git clone https://github.com/Patoski-patoski/bloggify.git
cd bloggify
```2. **Install dependencies**:
```bash
npm install
```3. **Set up your environment**:
- Create a `.env` file in the root directory and add your MongoDB connection string and JWT secret:```bash
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
REFRESH_JWT_SECRET=your_jwt_refresh_secret
```4. **Run the application**:
```bash
npm start
```The application should now be running on `http://localhost:3000`.
## API Endpoints
### Authentication
- **POST /register**: Register a new user
- **POST /login**: Login an existing user### Blog Posts
- **GET /api/posts**: Retrieve all blog posts
- **GET /api/posts/:slug**: Retrieve a single blog post by slug
- **POST /api/posts**: Create a new blog post
- **PUT /api/posts/:slug**: Update an existing blog post
- **DELETE /api/posts/:slug**: Delete a blog post## License
This project does not specify a license, so the default copyright applies. Feel free to contribute and modify as needed.
## Contributing
Contributions are welcome! Please open an issue or submit a pull request for any enhancements or bug fixes.
## Contact
For any inquiries, please reach out to [[email protected]](mailto:[email protected]).