https://github.com/shanksxz/writeup
A full-stack blogging application built with the MERN stack. This project allows users to create, read, update, and delete blog posts with image uploads supported by Cloudinary
https://github.com/shanksxz/writeup
college-project express mern-stack mongodb mongoose react shadcn-ui tanstack-query testing typescript under-development
Last synced: about 2 months ago
JSON representation
A full-stack blogging application built with the MERN stack. This project allows users to create, read, update, and delete blog posts with image uploads supported by Cloudinary
- Host: GitHub
- URL: https://github.com/shanksxz/writeup
- Owner: shanksxz
- License: mit
- Created: 2024-10-29T14:38:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-09T06:04:34.000Z (over 1 year ago)
- Last Synced: 2024-12-09T07:19:13.311Z (over 1 year ago)
- Topics: college-project, express, mern-stack, mongodb, mongoose, react, shadcn-ui, tanstack-query, testing, typescript, under-development
- Language: TypeScript
- Homepage: https://writeup.somyabhatt.tech
- Size: 522 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Writeup
## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Technologies Used](#technologies-used)
- [Folder Structure](#folder-structure)
- [Contributing](#contributing)
- [License](#license)
## Introduction
This is a MERN stack application developed as a college project. The app allows users to create, read, update, and delete blog posts. It also supports image uploads using Cloudinary.
## Features
- User authentication and authorization
- Create, read, update, and delete blog posts
- Image uploads using Cloudinary
- Responsive design
- Rich text editor for blog content
## Installation
1. Clone the repository:
```bash
git clone https://github.com/shanksxz/writeup
```
2. Navigate to the project directory:
```bash
cd writeup
```
3. Install server dependencies:
```bash
cd server
npm install
```
4. Install client dependencies:
```bash
cd ../client
npm install
```
5. Create a `.env` file in the `server` directory and add your environment variables:
```env
DATABASE_URL=
PORT=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
JWT_SECRET=
```
6. Create a `.env` file in the `client` directory and add your environment variables:
```env
VITE_API_URL=http://localhost:/api
```
## Usage
1. Start the server:
```bash
cd server
npm run dev
```
2. Start the client:
```bash
cd ../client
npm run dev
```
3. Open your browser and navigate to `http://localhost:5173`.
## Technologies Used
- MongoDB
- Express.js
- React.js
- Node.js
- Cloudinary
- Shadcn UI
- TipTap (Rich text editor)
## Folder Structure
```
writeup
├── client
│ ├── src
│ │ ├── assets
│ │ ├── components
│ │ ├── context
│ │ ├── lib
│ │ ├── pages
│ │ ├── App.jsx
│ │ └── main.jsx
│ ├── .env
│ ├── .gitignore
│ ├── index.html
│ └── package.json
└── server
├── src
│ ├── config
│ ├── controllers
│ ├── middlewares
│ ├── models
│ ├── routes
│ ├── utils
│ └── validators
├── index.js
├── .env
└── package.json
```
## Contributing
Contributions are welcome! Please open an issue or submit a pull request.
## License
This project is licensed under the MIT License.