Git Product home page Git Product logo

percival33 / virtual-travel-agency Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 947 KB

A virtual travel agency offers online booking for tours and activities, with integrated payments through Stripe. Users can also leave reviews to help others make informed decisions.

Home Page: https://natours.bieda.it/

License: MIT License

JavaScript 56.11% HTML 9.65% Pug 14.32% CSS 19.78% Dockerfile 0.13%
express mongodb mongoose nodejs

virtual-travel-agency's Introduction

Virtual travel agency

Project is in a tour booking site. Consists of API with Server Side rendered web page which is live at own hosted VPS.

Available here: natours.bieda.it

Take a look at Postman API docs to get more understanding.

Technologies Used

  • Node.js: A JavaScript runtime built on Chrome's V8 JavaScript engine that allows developers to run JavaScript code on the server-side.
  • Express: A web application framework for Node.js that provides a set of features for building web applications and APIs.
  • MongoDB: A NoSQL document-oriented database used for storing and retrieving data.
  • Mongoose: An Object Data Modeling (ODM) library for MongoDB that provides a higher-level interface for managing data.
  • Docker: A containerization platform used to deploy applications in a consistent and reproducible way.
  • Docker Compose: A tool for defining and running multi-container Docker applications.
  • VPS Linux Server: A virtual private server (VPS) running a Linux operating system used for hosting and deploying the application.
  • Mailtrap: An email testing service used for testing email functionality in the application.
  • Sendgrid: A cloud-based email service used for sending transactional emails from the application.
  • Pug: A template engine for Node.js used for rendering views and HTML.

Features Implemented

  • Stripe Integration: Stripe integration is implemented for processing online payments for tours. It allows users to pay for tours using their credit or debit cards securely.
  • CORS: Cross-Origin Resource Sharing (CORS) is a security feature that allows resources on a web page to be requested from another domain outside the domain from which the first resource was served.
  • CSP: Content Security Policy (CSP) is a security feature that helps prevent cross-site scripting (XSS) attacks by allowing web developers to specify which sources of content are trusted.
  • JWT: JSON Web Tokens (JWT) is a standard for securely transmitting information between parties as a JSON object. It is used for authentication and authorization purposes in the application.
  • Body Parsers: Body Parsers are used to parse the request body data in order to extract and work with the data in the application.
  • Rate Limiting: Rate limiting is a feature that limits the number of requests that can be made to the application in order to prevent abuse and improve security.

Acknowledgement

This repo is part of the online course I've taken at Udemy. Link to the course: Node.js, Express, MongoDB & More: The Complete Bootcamp 2023

virtual-travel-agency's People

Contributors

percival33 avatar dependabot[bot] avatar

Watchers

 avatar

virtual-travel-agency's Issues

Fix website usage

As mentioned in title, to enable new users to use app sign up form must be created.

  • create sign up form (.pug template)
  • connect it with API (endpoint)
  • combine both with adequate API call
  • build bundle.js
  • fix email templates
  • add reseting password on website

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.