Skip to content
This repository has been archived by the owner on May 17, 2024. It is now read-only.

Maus3rSR/Hajime

Repository files navigation

DUE TO LACK OF TIME, THIS PROJECT HAS BEEN ARCHIVED. MAYBE ONE TIME I WILL BE ABLE TO TAKE TIME AND REWORK THE PROJECT TO A FULLY FINISHED AND USABLE APP. THANK YOU FOR THE SUPPORT.

logo

MIT License

Special Sponsors

lokalise_logo

Hajime

Hajime is an Electron application for managing Kendo competition

Supporting Hajime

Hajime is an MIT-licensed open source projet with its development made possible entirely by the support of these backers. If you'd like to join them, please consider:

Project status

The project is currently slowed down due to lack of resources (currently only the main author is working on Hajime):

  • Developers that want to contribute to the project
  • Donations that can help actively growing the project and finish the MVP that every Kendo's dojo can use it in a Kendo competition event

Roadmap (MVP)

TODO: add details, explanations, images

  • ✅ Competition creation workflow
    • ✅ General informations
    • ✅ Importing fighters or teams
    • ✅ Setup the competition formula (rules)
  • Competition 'D-Day' workflow
    • ✅ Fighters/Teams list review and lock
    • ✅ Pools (Todo: more detail)
    • ✅ Fight scoring
    • Tournament bracket in the same UX/UI than Pools (Todo: more detail)
  • ✅ i18n (:fr:, :gb: for the begining)
  • Marking board
  • Live-scoring application
    • Slave application connected to a master application through socket.io
    • Must work without internet (local network)
    • Reflexion about making an mobile / tablet app (using Flutter, React Native, etc.) or keep using Electron as it can be installed on a windows tablet (can be enough)
    • It should share a part of the components as we already handle list of fights, fight scoring, etc...

Scoring application

Installation

Dependancies

These dependancies are required to launch the project :

  • NodeJS
  • Yarn (More reliable than npm to manage packages)

Then you need to install the project dependancies by launching yarn

Scripts

Defined in package.json :

  • yarn dev : launch the application in development mode
  • compile : Compile source code with webpack
  • build : Create an executable installation on the current OS environment
  • build:fast : Faster build only for test purposes in production mode
  • postinstall : Compile binaries dependancies (eg. drivers like mysql, sqlite, etc.)

Technical details of the project

Main technologies and libraries

Directory structure

  • /dist : contain production files when yarn build was used
    • /src/main : main process of Electron
    • /src/renderer : render process of Electron
      • /src/renderer/index.js : Entry point
      • /src/renderer/App.vue : Vue JS entry point
      • /src/renderer/assets : Images, fonts, etc...
      • /src/renderer/screens : VueJS components which are screens of the app
      • /src/renderer/database : Contain all files related to the database. models definition, sequelize, migrations
      • /src/renderer/plugins : Custom Vue JS components loaded as a plugin
      • /src/renderer/router : Vue-router configuration files
      • /src/renderer/store : Vuex files
  • /database : Mysql workbench files
  • /webpack/webpack.renderer.additions.js : Webpack's override configuration
  • .env : environment variables

Contributing

You can contribute to Hajime by following CONTRIBUTING.MD