Blogger Project

This project is a full-stack blog application developed as part of my Full Stack Web Development education. The application is built using Node.js and Express on the backend, with MongoDB as the database for storing blog posts. For the frontend, EJS (Embedded JavaScript) templating engine is used to dynamically render content. The project demonstrates the implementation of CRUD (Create, Read, Update, Delete) operations, routing, and the use of middleware in a web application.

Blogger Homepage

Note: The server may take a few moments to start up when accessing the live demo. Please be patient if there's a slight delay.

Key Features

  • Dynamic Routing: Express.js routes are used to handle various HTTP requests. For example, the /blogs route displays all blog posts, while the /about route displays information about the blog.
  • CRUD Operations: Users can create new blog posts, view a list of all posts, and delete existing posts. The application demonstrates fundamental CRUD operations, with data persistence managed through MongoDB.
  • EJS Templating: The application uses EJS as the templating engine, allowing for dynamic content rendering on the server-side. This helps in creating reusable components and rendering views such as the home page, individual blog posts, and the "About" page.
  • Middleware Integration: The application uses middleware such as morgan for logging HTTP requests, express.static for serving static files like CSS from the public directory.
  • MongoDB Integration: MongoDB Atlas is used as the database service to store blog post data.

Technologies Used

  • Node.js & Express.js (Backend)
  • MongoDB & Mongoose (Database)
  • EJS (Frontend templating engine)
  • Middleware: Morgan, Express.static, Express.urlencoded
  • CSS for styling
  • Deployed on Render: Live Demo

Reflection

This project was a great opportunity to apply the skills I learned in the Full Stack Web Development course. I enjoyed building the application and learning about the different technologies involved. The project helped me understand the flow of data between the frontend and backend, and the importance of middleware in web applications. I also appreciate the use of EJS for templating, which made it easier to create reusable components and views.