Giter VIP home page Giter VIP logo

ikopit's Introduction

home

Ikopit is a non official fansite for the deceased online video game Empire Universe published by Looki (now owned by Gamigo).

It features tools to help players within the game. The project is multilingue:

  • English
  • French
  • German

The project is written in Java 1.7 and uses Java EE. The application is meant to be deployed on Google App Engine. It uses DataNucleus to access the Google App Engine datastore via JDO. We use Objectify to make this easier.

The UI is written in JavaScript ES5 and was initially using Knockback.js. The most recent components has been written with ReactJs. Graphviz and svg-pan-zoom helps us generate beautiful svg. Bootstrap is used for the design and the mobile experience. Gulp helps us with task like sprite or svg generation as well as compiling jsx.

Features

List of chassis, components and buildings

Visualize the list of available chassis, components and buildings in the game with their statistics, cost and production time based on your settings.

Chassis

Research time calculator

Calculate how much time is remained for your research based on your advancement.

Research time

Technology tree

Visualize the technology tree of the game to plan your researches. It also has links to each chassis, components and buildings!

Technology tree

Ship builder

Design your ships as you like with all the components available from the game.

Ship builder

Space battle analyzer

Analyze the performances of your ships in battles.

Space battle analyzer

Find planets using triangulation

The game only give you the distance to an unknown planet. This tool helps you find it using triangulation.

Triangulator

Router planner

You can use wormholes to travel faster within the galaxy. Set a starting point and a destination then let yourself be guided.

Route planner

The site also works on mobile!

home_mobile

Deployment

The website is meant to be deployed on Google App Engine.

There is a gulp file to help you do several things:

  • assemble images as sprites.
  • build the technologie tree as a svg using Graphviz.
  • compile the jsx files to javascript files.
  • place all those files in the appropriate war sub-directories to make them available for the backend.

Then, you need to deploy the Java EE application on Google App Engine. You will need the DataNucleus plugin as well as Objectify.

After thought

Lack of best practice

The site is poorly written. There would be a lot of things to change! From tooling, refactoring, coding style, tests...

Backend mistakes

Using the Google App Engine datastore was a mistake for two reasons:

  • It make us dependant of App Engine.
  • It is useless and we could have used the local storage instead.

In fact there was no need of a back end server and the application could have been written as fully blown single page application!

The project would benefit a lot with a build automation tool like maven or gradle.

ikopit's People

Contributors

mgemard avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

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