Render.com URL: https://step8up-week8-node-express-blog.onrender.com/
This project is a full-stack blog application that lets users create, read, update, and delete their own blog posts. The front end interacts with a REST API built with Node.js and Express, which performs CRUD operations on a PostgreSQL database.
After opening the website, please use Register
button in the top right corner to register as a new user, and
then will be able to create new, update existing and delete your own posts only.
- User Authentication: Securely register, log in, and log out.
- Content Management: Create, edit, and delete your own blog posts.
- Content Filtering: Easily browse and filter blog posts by category.
- Full-Stack: The application is a complete solution, from the front-end interface to the back-end database.
- Application can work with both MySQL and PostgreSQL, when configuration is updated in the
.env
file.
- Backend: Node.js, Express.js
- Database: PostgreSQL
- Deployment: Render
To get a copy of this project up and running on your local machine, follow these steps.
- Clone the repository and navigate to the project directory:
git clone https://github.com/KamilWo/step8up-week8-node-express-blog
cd step8up-week8-node-express-blog
- Install dependencies:
npm install
or
yarn install
- Set up the database:
- Open PostgreSQL and create a database for the application.
- Copy the
.env.example
file and rename it to.env
. - Update the environment variables in the
.env
file with your database credentials.
- Seed the database with sample data (optional):
npm run seed
or
yarn run seed
- Run the application locally:
npm start
or
yarn start
- View the application:
Open your web browser and navigate to
http://localhost:3000
.
This application is deployed on Render. The backend is hosted as a web service, and the front end is deployed as a
static site. Render uses render.yaml
file.
The PostgreSQL database is also hosted on Render. If you're deploying this yourself, make sure to update your database
connection settings in the .env
file to match your hosting provider and configure environment.