Giter Club home page Giter Club logo

jalgoarena-ui's Introduction

JAlgoArena-UI Build Status GitHub release Codacy Badge Code Climate codecov

JAlgoArena UI is frontent for JAlgoArena services.

Introduction

  • JAlgoArena UI allows user to see existing problems, create account and using it submit solutions for existing problems, in one of two languages: Kotlin and Java. Every solution is limited by time and memory consumption and needs to pass all defined test cases. Problems itself are divided into three difficulty levels for each ones receiving different set of points. Additionally Kotlin language is promoted, giving you 150% of usual points in Java with same time.
  • Additionally there is module dedicated for Administrator, who can review submissions (any cheating, ticking on requirements, copy pasting), add new problems or update existing ones (the last one is still in progress)

Component Diagram

Components

Continuous Delivery

  • initially, developer push his changes to GitHub
  • in next stage, GitHub notifies Travis CI about changes
  • Travis CI runs whole continuous integration flow, running compilation, tests and generating reports
  • application is deployed into Heroku machine

Infrastructure

  • Heroku (PaaS)
  • npm, as build and running script, dependency management
  • Webpack to build JavaScript bundle script
  • ReactJS, Redux - for views and handling state
  • Bootstrap - for UI Styles
  • TravisCI - https://travis-ci.org/spolnik/JAlgoArena-UI

Running locally

There are two ways to run it - from sources or from binaries.

  • Default port: 3000
  • prerequisite if you plan to rebuild: npm run installRequiredGlobalDependencies

Running from binaries

  • go to releases page and download last app package (JAlgoArena-UI-[version_number].zip)
  • after unpacking it, go to folder and edit configuration: nano client/config/index.js - change there url to JAlgoArena API Gateway, title, region and team names
  • run with command: npm start

Running from sources

  • run git clone https://github.com/spolnik/JAlgoArena-UI to clone locally the sources
  • run npm install to install all dependencies
  • now, you can build and run project with command ./npm start
  • there is now some caveat - configuration is embedded into sources under config file. If you would like to change welcome message, name of teams or regions, url to EUREKA you are supposed to do that in this file. Once you do that, you should repeat above command to rebuild sources
  • in future that configuration/data will go to some other service and will be downloaded by UI on the start

Recommended way to run - PM2

  • the recommended way to run JAlgoArena UI is to use PM2
  • the command is npm run pm2start

Notes

Component Diagram

jalgoarena-ui's People

Contributors

spolnik avatar ksiazekm 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.