Git Product home page Git Product logo

smrtbookingtest's Introduction

Introduction

Welcome to the Smrt Booking repository!

THIS IS NOT PRODUCTION READY. WE CAN DO SO MANY MORE THINGS LIKE SERVICE DISCOVERY,LOAD BALANCING,QUEUES, CACHING, CIRCUIT BRAKER CONTAINERIZATION AND MORE...

BUT THIS WILL GIVE YOU THE IDEA WHAT I CAN BUILD

I TRIED TO BUILD EVERYTHING FROM GROUND UP (DIDN'T USE EXTRA LIBRARIES RELATED TO MICROSERVICES ARCHITECTURE) SO I CAN SHOW I UNDERSTAND THE CONCEPTS

In the time available, I have set up a project with two main folders and to save time i use mongodb with different databases

1. Server

The server folder contains four microservices:

  • Users
  • Hotels
  • Rooms
  • Auth

Documentation Generation

To generate documentation for each microservice, run the following command in the respective microservices folder:

npm run docs

Microservices Ports

The microservices are currently configured to run on the following ports:

  • Users: 3001
  • Hotels: 3005
  • Rooms: 3004
  • Auth: 3003

Feel free to customize the ports by modifying the values in the .env file, which is included in this repository (considered private).

Development Mode

For development mode, use the following command in any microservice folder:

npm run dev

Live Mode

To run the project in live mode using pm2, execute:

npm start

Test Driven Development

Tests have been implemented in the Users microservice, demonstrating proficiency in test-driven development.

Note: The Users service does not require authentication, while Hotels and Rooms do require a Bearer token.

2. Mobile App

The mobile-app folder contains a mobile application. To configure the microservices URLs, navigate to constants/vars.js and make the necessary adjustments.

Click on the hotels items to view their room details on the BROWSE screen.

Please be aware that due to time constraints, the React Native work may not be polished, but it provides an overview of my ability to make things work.

and i used an icon for logout that will not show on IOS, i didn't have time to integrate react-native-vector-icons library

Feel free to explore and test the functionalities. If you have any questions or need further assistance, don't hesitate to reach out.

Thank you for your time and consideration.

smrtbookingtest's People

Contributors

huzaifaazim0 avatar

Stargazers

Usama avatar

Watchers

 avatar

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.