Skip to content

This repository provide APIs for a space travel booking system, enabling seamless management of spacecraft launches and passenger reservations. Developers can integrate these APIs to facilitate easy booking processes, ensuring smooth cosmic adventures for all travelers.

Notifications You must be signed in to change notification settings

sdipto7/gospace

Repository files navigation

GoSpace - Journey Beyond Limits

Welcome to GoSpace, where cosmic adventures await! Discover and book exhilarating space trips to distant celestial destinations effortlessly. Embark on unforgettable journeys to explore the wonders of the universe. With GoSpace, your gateway to the stars, the thrill of space travel is just a click away. Let your imagination soar beyond the cosmos!

Run the application anywhere(images are available on dockerhub)

  • ensure docker is installed in the target environment
  • use the provided docker-compose.yml file
  • pull the images and start the containers with:
docker compose up --detach

APIs:

Spacecraft Service URLs using API gateway:

Exploration Service URLs using API gateway:

SpaceTrip Service URLs using API gateway:

Booking Service URLs using API gateway:

Local environment setup for development of this project

  • clone the repository into your local machine
  • ensure docker is installed in your local machine
  • prior to running the services, ensure that the four required MySQL containers are running, each corresponding to a specific microservice
  • start the mysql containers with the correct database configurations for each microservice by the following commands -

MySQL Container for SpaceTrip Service:

docker run --detach --name spacetrip_mysql_container --env MYSQL_DATABASE=spacetrip_schema --env MYSQL_USER=admin --env MYSQL_PASSWORD=1234 --env MYSQL_ROOT_PASSWORD=1234 --publish 3306:3306 mysql:8-oracle

MySQL Container for Spacecraft Service:

docker run --detach --name spacecraft_mysql_container --env MYSQL_DATABASE=spacecraft_schema --env MYSQL_USER=admin --env MYSQL_PASSWORD=1234 --env MYSQL_ROOT_PASSWORD=1234 --publish 3307:3306 mysql:8-oracle

MySQL Container for Exploration Service:

docker run --detach --name exploration_mysql_container --env MYSQL_DATABASE=exploration_schema --env MYSQL_USER=admin --env MYSQL_PASSWORD=1234 --env MYSQL_ROOT_PASSWORD=1234 --publish 3308:3306 mysql:8-oracle

MySQL Container for Booking Service:

docker run --detach --name booking_mysql_container --env MYSQL_DATABASE=booking_schema --env MYSQL_USER=admin --env MYSQL_PASSWORD=1234 --env MYSQL_ROOT_PASSWORD=1234 --publish 3309:3306 mysql:8-oracle

Build the images of the microservices

  • navigate to the parent repository(gospace), where the pom.xml is located, containing the docker image build configuration
  • build the image using maven plugin with:
mvn spring-boot:build-image -DskipTests

Push the docker images

docker push sdipto7/gospace-spacecraft:0.0.1-SNAPSHOT
docker push sdipto7/gospace-exploration:0.0.1-SNAPSHOT
docker push sdipto7/gospace-spacetrip:0.0.1-SNAPSHOT
docker push sdipto7/gospace-booking:0.0.1-SNAPSHOT
docker push sdipto7/gospace-api-gateway:0.0.1-SNAPSHOT
docker push sdipto7/gospace-naming-server:0.0.1-SNAPSHOT

About

This repository provide APIs for a space travel booking system, enabling seamless management of spacecraft launches and passenger reservations. Developers can integrate these APIs to facilitate easy booking processes, ensuring smooth cosmic adventures for all travelers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages