Elastic Community Train Manager API Application

Welcome to the Elastic Community Train Manager API project!

Usage

The video below shows how the setup convert json to sql and build and serve application.

Setup and run server

And the next video show how the api works Test an application

Getting Started

Here's how to get started:

Prerequisites

To run this application project, you need to have the following installed in your device

Installing

Follow the steps below to run the application locally

  1. First, unzip the Elastic-Team-Java-PostgreSQL-Challenge-Train Manager-NelsonFrank.zip

  2. Change directory and activate virtual enviroment

cd ./Elastic-Team-Java-PostgreSQL-Challenge-Train Manager-NelsonFrank/code/code/code
  1. Then build and start your application
docker compose up --build

Note: If you have older docker version, then use docker-compose up --build

Deployment

Follow the following steps to deploy the django app

  1. Choose a server provider, such as AWS, Google Cloud, or DigitalOcean. For example, you could use AWS EC2 to set up a virtual server.

  2. Set up the server by installing the necessary software, such as Docker, Java and a web server like Apache or Nginx. In our case we use nginx as web server

    # Install java
    sudo apt install default-jre nginx
    

    To install Docker in you server, Follow the instruction here.

  3. Clone the project on server

    git clone git@github.com:nelsonfrank/Elastic-Community-Train-Manager-Api-Application
  4. Serve your application in production.

    cd Elastic-Community-Train-Manager-Api-Application/code/code
    
    # Serve your application
    docker compose up --build -d
  5. Accessing the train manager api application In your browser open the server followed by port number. In our case it 8080 visit http://<server-ip>:8080/api/trains in your browser/postman client to see list of all trains.

  6. Hurray, You successfully deploy your application.

Built With

  • Java 8
  • Spring Boot 2
  • PostgreSQL
  • Maven
  • Docker

Authors

License

This project is licensed under the MIT License - see the MIT License for details

Acknowledgments