Giter Site home page Giter Site logo

emfl / ezbadmintonadmin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ezbadminton/ezbadmintonadmin

0.0 0.0 0.0 2.15 MB

Desktop app for managing fun Badminton tournaments.

License: MIT License

Shell 0.16% C++ 1.44% C 0.09% Objective-C 0.01% Kotlin 0.01% Dart 96.93% Swift 0.09% HTML 0.11% CMake 1.16%

ezbadmintonadmin's Introduction

ezBadminton Admin App

A free open source desktop app for managing badminton tournaments.

It is currently under development. The name and everything else is subject to change.

Why?

To make organizing fun badminton tournaments easy and free (software-wise).

Is there no solution to that already?

Those that I know are not free, not badminton specific or require a lot of user experience.

Contributing

Everyone is welcome to fork and/or make pull requests!

How to get started

NOTE: This guide was tested using Ubuntu 22.04 and Windows 10.

  • Create a working directory like ez_badminton
  • Fork and clone this repository into the working directory
    you@yourdevice:~/ez_badminton$ git clone [your-forked-repository]

Set up the PocketBase server locally

ezBadminton uses a custom extended PocketBase as its backend. It bundles database, data storage, authentication and REST-API.

  • Download the newest prebuilt server executable from the releases.

    NOTE: You can also compile the server yourself from the repository.

  • Create a directory called local_server in your cloned repository (ez_badminton/ezBadmintonAdmin).
    • Place the server executable at ez_badminton/ezBadmintonAdmin/local_server and rename it to ezBadmintonServer (with .exe on Windows).
  • The client automatically detects the server executable in the local_server directory and starts it.
  • The backend is ready! On to the app itself.

Building the app

The ezBadminton Admin App is a desktop app built with Flutter.

  • Install the Flutter development tools on your system (Flutter 3.19.3 as of writing)
    • Note on Windows: Make sure to complete this step to be able to build the flutter app for Windows
    • You can ignore Android and web related setup steps as this is not a mobile/web app

NOTE: The rest of the guide assumes VSCode as IDE but there should be analog tools for other IDEs.

  • Open VSCode and open your cloned repository (ez_badminton/ezBadmintonAdmin)
  • Install the following extensions (search by the IDs to find the right ones)
    • Dart (Dart-Code.dart-code)
    • Flutter (Dart-Code.flutter)
  • Open a Terminal (e.g. in VSCode) to install Flutter dependencies with the pub package manager
    you@yourdevice:~/ez_badminton/ezBadmintonAdmin$ flutter pub upgrade
    Switch to packages/collection_repository
    you@yourdevice:~/ez_badminton/ezBadmintonAdmin/packages/collection_repository$ dart run build_runner build
  • Press F5 to build and run a debug session! Select a desktop target device. This takes about 2-3 minutes on the first run. Make sure your pocketbase service is still running. If the hotkey does not work, try
    you@yourdevice:~/ez_badminton/ezBadmintonAdmin$ flutter run --debug

You are ready to hack!

ezbadmintonadmin's People

Contributors

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