/staycation

A web app for finding hotels, houses, and apartments near tourist attractions

Primary LanguageTypeScriptCreative Commons Zero v1.0 UniversalCC0-1.0

Staycation

A web app for finding hotels, houses, and apartments near tourist attractions.

A course project from BWA Full-Stack JavaScript Developer: Website Travel with massive customizations.

How to Run

Initial Run

Run the following command to populate the database with some initial documents; to populate the public images directory with some initial images; and to run all services.

docker compose --profile initial-run up -d --build

Run

Just run all services without data seeding.

docker compose --profile run up -d

Running Ports

Service Port
Client 8080
CMS 3000
MongoDB 27017

The User Interface Design

See Staycation Website UI Design.

The Client Service

Presentation

The CMS Service

Admin Dashboard

The admin functionality is supported by a dashboard; rendered by the server using EJS templating engine.

RESTful API Documentation

See Client API Documentation.

Techstack

Fullstack TypeScript MERN:

  • TypeScript - a strongly typed programming language that builds on JavaScript.
  • React.js - a JavaScript library for building user interfaces.
  • TailwindCSS - a utility-first CSS framework packed with classes like flex, pt-4, text-center, etc., that can be composed to build any design, directly in the markup.
  • daisyUI - the most popular, free and open-source Tailwind CSS component library.
  • MongoDB - a NoSQL database management application.
  • Node.js - a JavaScript runtime built on Chrome's V8 JavaScript engine.
  • Express.js - a fast, unopinionated, and minimalist web framework for Node.js.
  • EJS - a simple templating language for generating HTML markup with plain JavaScript.
  • SB Admin 2 - a free Bootstrap 4 admin dashboard theme built with HTML/CSS.
  • Docker - an open platform for developing, shipping, and running applications.