Skip to content

EmRodDev/goodhomes-nodejs

Repository files navigation


GoodHomes

goodhomes-nodejs

A real property monolitic web application made on an Udemy course

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contact

About The Project

This is a monolitic web application made on an Udemy course of Node.js. It has a lot of features and custom changes that i made as a hamburguer button which toggles a lateral menu for mobile devices and custom color design along with other design modifications on the views.

Said Udemy course is in Spanish, but i coded the project in English so it can be checked out more internationally.

The project has the following features:

  • Sign in and sign up
    • Recover your password sytem
    • Verification through email system
  • View, Upload, modify and delete a property
    • Upload an image of a property
    • Set the address of the property pointing it through a map (leaflet)
    • Search of properties through text
    • Search of properties by the home view map which includes filters by category and price
  • Message the owner of the property
  • Desktop and mobile compatibility (responsive)
  • CSRF protection
  • Encrypted user token through JWT

(back to top)

Built With

  • Node
  • JavaScript
  • Nodemon
  • Sequelize
  • Express.js
  • MySQL
  • TailwindCSS
  • Webpack
  • Pug
  • JWT

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

  • SMTP Server (to handle email confirmation and lost password systems)
  • MySQL database
  • Node.js
  • Git (in case you want to clone the project)

Installation

  1. Clone the repo
    git clone https://github.com/EmRodDev/goodhomes-nodejs
  2. Install NPM packages
    npm install
  3. Create an .env file on the project's root folder with the following environment variables:
     DB_NAME=
     DB_USER=
     DB_PASS=
     DB_HOST=
     DB_PORT=
    
     EMAIL_HOST=
     EMAIL_PORT=
     EMAIL_USER=
     EMAIL_PASS=
    
     BACKEND_URL=
     BACKEND_PORT=
    
     JWT_SECRET=

(back to top)

Usage

For development, this project needs to run two commands on separate command line clients in order to use it properly:

  1. The first command is to start the server
    npm run server
  2. The second command is to render all the Tailwind and Webpack styles and scripts
    npm run dev
  3. (Optional) If you only want to see how the project behaves with already existing data, you can use the following command to import some example data on Categories, Prices and User tables
    npm run db:import

(back to top)

Contact

Linkedin

(back to top)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •