Code Monkey home page Code Monkey logo

Skyderby

Code Climate Test Coverage CI View performance data on Skylight

Why Skyderby exists?

In April 2014 I finally got the GPS tracker. After a couple of wingsuit jumps with it I wanted to check my results and faced the following problem: all existing services (free or commercial) didn’t show any results at all or showed it in a very uncomfortable way.

So I decided to create a new application.

Development

Setting up a development environment

  • Install asdf - See https://asdf-vm.com/guide/getting-started.html
  • Install asdf plugins:
    • asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
    • asdf install nodejs latest
    • asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
    • asdf install ruby latest
  • Install Docker
  • Install postgres with sudo apt-get install postgresql libpq-dev
  • Install yarn with npm install -g yarn
  • Clone the skyderby git repository with git clone https://github.com/skyderby/skyderby.git
  • cd into the repository
  • asdf install
  • bundle install
  • yarn
  • cp .env.example .env
  • Configure postgres to trust local connections. Edit /etc/postgresql/12/main/pg_hba.conf as follows:
- local   all             all                                     peer
+ local   all             all                                     trust
- host    all             all             127.0.0.1/32            md5
+ host    all             all             127.0.0.1/32            trust
  • After editing the file, sudo service postgresql restart
  • Run the following rails commands to initialize a database:
    • rails db:create
    • rails db:schema:load
    • rails db:seed
  • Start the services:
    • In one terminal, run bin/webpacker-dev-server
    • And in another one, run rails server
  • To create an admin user, run rails console and enter the following commands:
    • User.create!(email: '[email protected]', password: 'asecretpw', password_confirmation: 'asecretpw', profile_attributes: { name: 'Admin User' })
    • User.last.update!(confirmed_at: Date.today)
    • Role.pluck(:name)
    • User.last.roles << Role.find_by(name: 'admin')
  • Visit http://127.0.0.1:3000
  • Log in with your admin user email and password

To allow uploading tracks, run the track scanner application:

  • git clone skyderby/track-scanner
  • cd track-scanner
  • docker build -t track-scanner .
  • docker run -p 80:8080 track-scanner

TODO

  • Fix postgres usage so that the config file doesn't need to be edited
  • Redis installation instructions, and documenting what it's needed for

Million Thanks to

Alex and Svetlana Rubinshtein, Shane Dunn, Aleksey Shatilov, Valeriy Salcutsan, Simon Repton, Evgeniy Pavlov, Egor Orlow, Simon Perriard, Aleksey Galda, Flo Kas, Csaba Szörényi, Aleksandr Zharikov, Ekaterina Larina, Tatyana Holm, Yulia Makoveeva, Daniel Duarte, Leonid Sigalov, Sergey Panteleev.

Licensing

Code released under AGPLv3 license.

Note: Skyderby is using Highcharts JS library which is licensed under Creative Commons Attribution-NonCommercial 3.0 License.

Skyderby's Projects

assistant icon assistant

Flysight configuration tool by Skyderby team

infrastructure icon infrastructure

Ansible playbook for getting up and running, rolling updates and disaster recovery

remotipart icon remotipart

Rails jQuery file uploads via standard Rails "remote: true" forms.

skyderby icon skyderby

The most advanced flight analysis and competition scoring

vincenty_distance icon vincenty_distance

Calculate the geographical distance between 2 points with extreme accuracy.

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.