Project information

  • Category: Website
  • Project date: 06 May, 2024
  • Project URL: www.pgliferesident.com
  • Project Name: PGLife Resident (BasicOperations)
  • technologies Use:MongoDB, Node.js, Express.js, HTML, CSS, JavaScript, Bootstrap, Tailwind(CSS), Various NPM Packages..etc

PGLifeResident- Your Ideal Paying Guest Solution



Overview:

PGLifeResident is a sophisticated Paying Guest accommodation platform designed to provide a seamless experience for both property owners and residents. Leveraging a stack of modern technologies, the platform ensures efficiency, security, and a user-friendly interface.

HTML, CSS, JavaScript:
HTML: Used for structuring the web pages.
CSS: Applied for styling and layout to enhance the visual appeal of the website.
JavaScript: Implemented for client-side interactivity, form validation, and dynamic content updates.


MongoDB Database:
Database Structure: Designed a MongoDB database to store information about paying guests, hosts, and related details.
Mongoose ODM: Utilized Mongoose, an ODM (Object Data Modeling) library for MongoDB and Node.js, to simplify interactions with the database.


Node.js and Express.js:
Server-Side Logic: Employed Node.js for server-side JavaScript, and Express.js as the web application framework to manage routes, middleware, and HTTP requests.
Routing: Organized routes in an MVC (Model-View-Controller) structure for a scalable and maintainable codebase.


MVC Folder Structure:
Models: Represented data structures and interactions with the database.
Views: Rendered dynamic content using EJS (Embedded JavaScript) templates.
Controllers: Handled business logic, processing requests, and updating models.


Middleware:
Passport.js: Integrated Passport for user authentication, supporting various authentication strategies such as local authentication, OAuth, etc.
Session Management: Implemented middleware for handling user sessions using express-session and storing session data in MongoDB.
Error Handling: Utilized middleware for error handling to gracefully manage unexpected issues and provide meaningful error messages.


NPM Packages:
EJS Mate: Used for enhancing EJS templates with additional features.
Multer: Implemented Multer for handling file uploads.
Cloudinary Services: Integrated Cloudinary for efficient cloud-based image and video management.
Flash Messages: Employed connect-flash for displaying flash messages to users.


Additional Features:
Cookies: Implemented cookies for maintaining user sessions and preferences.
Validation: Included client-side and server-side validation to ensure data integrity.
Security: Applied best practices to secure the application, such as encryption, input validation, and protection against common vulnerabilities.
MapBox:This is an Additional Feature of my website.