Giter VIP home page Giter VIP logo

mariadb-corporation / dev-example-flights Goto Github PK

View Code? Open in Web Editor NEW
8.0 5.0 10.0 2.49 MB

A simple web application demonstrating the power and simplicity of MariaDB ColumnStore.

Home Page: http://www.mariadb.com

License: MIT License

Dockerfile 0.41% JavaScript 71.66% HTML 3.07% CSS 4.59% Shell 4.73% Python 15.53%
mariadb mariadb-platform mariadb-columnstore mariadb-connector reactjs nodejs python

dev-example-flights's Introduction

Flights

⚠️⚠️⚠️

[UNMAINTAINED]
This repository has been split up (by back-end language), moved and is currently maintained at the following locations:


⚠️⚠️⚠️

Flights is a web application, backed by the power of the MariaDB Connectors and MariaDB ColumnStore database, allows you to analyze millions flight records from the United States Department of Transportation in real time without needing to add any indexes!

This README will walk you through the steps for getting the Flights web application up and running using MariaDB ColumnStore. To ensure success, please follow the instructions in order.

Note: The code provided within this repository is completely open source. Please feel free to use it as you see fit.

Table of Contents

  1. Requirements
  2. Getting started with MariaDB
  3. Getting started with the app
    1. Get the code
    2. Get the data, create the schema, and load the data
    3. Anatomy of the app
    4. Build and run the app
  4. Support and contribution
  5. License

Requirements

This sample application, no matter which API project you target, will requires the following to be installed/enabled on your machine:

  • MariaDB Client, used to connect to MariaDB instances.
  • Bash (if you are using Windows 10, you will need to enable the Windows Subsystem for Linux), used to run the data download script

Getting started with MariaDB

MariaDB is a community-developed, commercially supported relational database management system, and the database you'll be using for this application.

If you don't have a MariaDB database up and running you can find more information on how to download, install and start using a MariaDB database in the MariaDB Quickstart Guide.

Getting started with the app

In order to run the Flights application you will need to have a MariaDB instance to connect to. For more information please check out "Get Started with MariaDB".

Get the code

Download this code directly or use git (through CLI or a client) to retrieve the code using git clone:

$ git clone https://github.com/mariadb-corporation/dev-example-flights.git

Get the data, create the schema, and load the data

This application uses (US domestic) flight data freely available from the Bureau of Transportation on time performance dataset. The [get_flight_data.sh] shell script will be used to download the flight data (between 1990 and 2020) into a folder called data.

Complete the following steps.

  1. Download the flight data (approx. 180 million records, ~30 GB). Depending on your internet connection this may take some time. However, you can simply modify get_flight_data.sh script to adjust the amount of flight information that is downloaded. Doing so will not disrupt subsequent steps.
$ ./get_flight_data.sh
  1. Create the flights database, airlines/airports/flights tables, and load the tables with data. Be sure to include your database instance specific information (host url, port number, username, and password)
$ ./create_and_load.sh host_url port user password

Note: Remember to wrap argument values in single quotes if they contain special characters (e.g. !)

By default the create_and_load.sh script has ssl enabled and assumes a MariaDB SkySQL certificate authority chain file exists next to it. Feel free to modify accordingly.

Anatomy of the app

This application is made of two parts:

  • Client
    • communicates with the API.
    • is a React.js project located in the client folder.
  • API
    • uses a MariaDB Connector to connect to MariaDB.
    • contains multiple projects, located in the api folder.

See the README's in client and api for more information on how to get started!

Build and run the app

  1. Navigate to the client folder and execute the following CLI command to install the package dependencies for the React.js application.
$ npm install
  1. Pick an API project and follow the instructions of the README to build and run the API project.

  2. Navigate to the client folder and execute the following CLI command to start the React.js application.

$ npm start
  1. Open a browser window and navigate to http://localhost:3000.

Support and Contribution

Please feel free to submit PR's, issues or requests to this project project or projects within the official MariaDB Corporation GitHub organization.

If you have any other questions, comments, or looking for more information on MariaDB please check out:

Or reach out to us diretly via:

License

License

dev-example-flights's People

Contributors

jmjava avatar rhedgpeth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dev-example-flights's Issues

Unknown storage engine 'columnstore'

I installed all the required packages for client and api as well as MariaDB, but I get this error "Unknown storage engine 'columnstore'" when I run the "./create_and_load.sh" file. Any suggestion?

Operating System: Windows 10

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.