About
My name is Isuru Dinusha. I am a student at the Solent University in Southamton. For this project, I have used the following technologies: HTML, CSS, JavaScript, Jquery, Node.js , MongoDB, and Bootstrap.
The purpose of this website is to provide a platform for users to upload and share their favorite recipes with the world of cooking enthusiasts. Whether you're a seasoned chef or a passionate home cook, this platform allows you to showcase your culinary creations and inspire others with your delicious recipes.
By bringing together the power of Node.js for server-side development, MongoDB for database storage, Express for routing and middleware, and Bootstrap for responsive design, this project aims to provide a robust and visually appealing platform for food lovers to explore, share, and discover exciting recipes from around the world.
To enhance the functionality and ease of development, I have utilized several NPM packages, including:
- connect-flash: This package provides a flash messaging system, allowing you to display temporary messages to users, such as success or error notifications, after certain actions or events.
- cookie-parser: This package enables the parsing and handling of cookies in incoming requests. It simplifies the process of working with cookies in your Express application.
- dotenv: This package loads environment variables from a .env file into process.env. It's useful for securely storing sensitive information, such as API keys or database credentials, without exposing them in your codebase.
- ejs: This package is a templating engine that allows you to dynamically generate HTML markup. It simplifies the process of rendering dynamic content and passing data to your views.
- express: Express is a fast and minimalist web application framework for Node.js. It provides a robust set of features for building web applications, including routing, middleware support, and request/response handling.
- express-ejs-layouts: This package adds layout support to your EJS templates in Express. It allows you to define a base layout that can be extended by multiple views, providing a consistent structure across your application.
- express-fileupload: This package simplifies the handling of file uploads in Express. It provides middleware that allows you to easily process and store files sent by users in your application.
- express-session: This package enables session management in your Express application. It helps you create and manage user sessions, allowing you to store session data and authenticate users.
- MongoDB and mongoose: MongoDB is a popular NoSQL database, and mongoose is an object data modeling (ODM) library for MongoDB. Together, they provide a powerful and flexible solution for storing and retrieving data in your application, allowing you to define schemas, perform database operations, and interact with MongoDB easily.
By leveraging these NPM packages, I have enhanced the functionality and development process of my cooking blog. Each package serves a specific purpose, from handling user sessions and file uploads to simplifying templating and database operations. This combination of technologies and packages allows for a seamless and efficient user experience while uploading, browsing, and interacting with recipes on the website.