Code Monkey home page Code Monkey logo

dartsmate's Introduction

๐ŸŽฏ DartsMate

Analyze, compare and track your dart games with DartsMate - Build with nextron, Next.js & Mantine

โš ๏ธ The project is currently still a work in progress. Many functions and ideas are not implemented yet!

โœจ Features

Explore the Future: Dive into our project roadmap to discover exciting upcoming features!

  • Create & Manage Profiles: Easily create and manage player profiles for your matches.
  • Create A Match: Set up a game with and customize various game settings.
  • Analyze Your Latest Matches: Gain valuable insights into your performance and track your progress.

๐Ÿค– Scripts

Script Description
npm run dev Starts a local development server
npm run build
npm run build:all Build a production-ready version for all platforms
npm run build:win32 Build a Windows-32 bit executable
npm run build:win64 Build a Windows-64 bit executable
npm run build:mac โš ๏ธ To successfully build for macOS, the host computer must be running macOS!
npm run build:linux Build a Linux executable
npm run postinstall
npm run lint Check the project for potential errors or issues
npm run lint:fix Check the project for errors or issues and attempt to automatically fix them
npm run format Format the project code

๐Ÿ‘ท Contributors

dartsmate's People

Contributors

derechtenap avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

dartsmate's Issues

Add GitHub Workflows

Overview

Add automatic workflows to create executable binaries when a commit or merge is made to the main branch.

๐Ÿ““ Notes

  • Currently the app supports only Windows
  • Linux and macOS will be supported in later versions

๐Ÿ”ง Tasks

  • โœจ Create Workflow

The user should have the possibility to exit the app

Feature Request

Is your feature request related to a problem? Please describe.
Currently, our app does not provide any option for users to exit the app. This can be inconvenient for users who want to close the app but cannot find a way to do so. As a result, we need to add a feature that allows users to exit the app easily.

Describe the solution you'd like
We propose adding a button or menu option that users can click to exit the app. When the user clicks the button or menu option, the app should close immediately. This feature should be available on all platforms that the app supports.

Describe alternatives you've considered
None

Additional context
This feature should be implemented in a way that is intuitive and easy for users to find. We should also consider the possibility of users accidentally clicking the exit button and provide a confirmation message to prevent accidental app closures.

The user should be able to manage profiles within the app

Overview

Profiles store metadata and statistics on the file system. In further updates there should be an option to use a guest profile.

๐Ÿ““ Notes

  • The profile file extension is .profile
  • The profiles will be stored on the file system
  • The file contains an object with keys and values, formatted in "utf-8" format
  • The file name will be the uuid of the user
  • The profile will also store a base64 string for the avatar (optional)
// The current used typescript type for the profile file
type ProfileFile = {
  name: string;
  uuid: string;
  avatarImage?: string; // Base64 string
  createdAt: number; // Number of milliseconds since January 1, 1970
  updatedAt: number;
  stats: {
    games: number; // Played games
    wins: number;
    avg: number;
    throws: number;
    totalScore: number;
    missedThrows: number;
  };
};

๐Ÿ”ง Tasks

  • โœจ Allow the user to create new profiles
  • ๐Ÿ–Š Allow the user to edit already existing profiles
  • โŒ Allow the user to delete profiles
  • ๐Ÿ‘€ Show all available profiles on the profile page
    Allow the user to select profiles on the lobby page

The user should be able to set a default profile

Tasks

  • Allow the user to update the profile
  • Ask the user to create a profile, if there isn't a profile file on the client OS
  • Save the profile on the client OS
  • Let the user set a profile picture via file "upload" or webcam

The user should be able to change the language

Currently, the application lacks the functionality to allow users to change the language according to their preferences. This feature is essential for providing a localized experience and accommodating users from different linguistic backgrounds.

Tasks

  • Add i18n (next-i18next)
  • Configure the project to use the nextjs Internationalization Routing
  • Localize the available pages in english and german
  • Add a selectbox to the app settings page
  • Store selected language

The user should be able to start a game via the lobby

Is your feature request related to a problem? Please describe.
Currently, the user is not able to start a game via the lobby. Meaning there is no way to start a game.

Describe the solution you'd like
I would like to request the feature where the user can start a game directly from the lobby. This will make the user experience more seamless and efficient. Ideally, there would be a button or link in the lobby that the user can click on to start a game.

Describe alternatives you've considered
One alternative solution would be to add a menu option in the navigation bar to start a game. However, I believe this would still require users to navigate away from the lobby, which is not ideal.

Tasks

  • Add a new button or link to the lobby
  • When the user clicks on "Start a Game", navigate to the game setup screen where they can select the game type, players, and other options
  • Implement the logic to create a new game instance based on the user's selections
  • Ensure that the game instance is properly initialized with the selected game type, players, and options
  • Test the new feature thoroughly to ensure it is working as intended

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.