π Table of Contents
- π€ Overview
- π Deploy
- βοΈ Tech Stack
- π Features
- π€Έ Quick Start
This project is a simple blog application built with Next.js and TypeScript, featuring a responsive design with Tailwind CSS. It includes a comprehensive RESTful API backend developed using Nest.js and MongoDB. The application allows users to create, read, update, and delete blog posts, with content managed via a WYSIWYG editor and displayed as HTML.
https://elian-next-nest-blog.vercel.app
https://elian-next-nest-blog-api.onrender.com
- Next.js
- TypeScript
- Tailwind CSS
- Nest.js
- TypeScript
- MongoDB
- Vercel (Front-end)
- Render (Back-end)
- MongoDB Atlas (Database)
π Responsive Home Page with Blog Post Grid: A responsive home page displaying all blog posts in a grid layout, optimized for both mobile and desktop views.
π Individual Post Pages: Each post has its own dedicated page, showcasing the title, main (banner) image, and full article content rendered as HTML.
π WYSIWYG Editor: A built-in WYSIWYG editor (i.e., react-quill) for creating and editing blog posts, allowing users to format their content with ease.
π RESTful API: A complete RESTful API to manage blog posts, including endpoints to create, retrieve, update, and delete posts, with comprehensive error handling and data validation.
π Swagger Documentation: API documentation implemented with Swagger for easy reference and testing.
π Admin Page: A simple management page for administrating blog posts, including pagination support for efficient content browsing.
Follow these steps to set up the project locally on your machine.
Prerequisites
Make sure you have the following installed on your machine:
Install instructions:
1. git clone https://github.com/elian-cheng/blog-app-next-nest.git
2. cd blog-app-next-nest
3. git checkout front
4. npm i
5. npm run start
1. git clone https://github.com/elian-cheng/blog-app-next-nest.git
2. cd blog-app-next-nest
3. git checkout back
4. create and add all necessary variables to .env file
5. npm i
6. npm run start
Set Up Environment Variables
Create a new file named .env
in the root of your server project and add the following content:
DATABASE_URL=
Running the Project
npm run dev
Open http://localhost:3000 in your browser to view the project front-end. Open http://localhost:5000 in your browser to view the project back-end. Open http://localhost:5000/docs or https://elian-next-nest-blog-api.onrender.com/docs in your browser to view the project API Swagger documentation.