Git Product home page Git Product logo

project-dsp-calculator's People

Contributors

dependabot[bot] avatar eurydia avatar

Stargazers

 avatar  avatar  avatar

project-dsp-calculator's Issues

Improve component organization

The component/ directory is very messy after previous refactor on the Editor component. This issue will serve as a small reminder to organize the directory

Refactor Editor component

After #21, it is clear that the business logic has been extracted out also.

As a reminder, persistent states used can be extracted and abstracted away into their own custom hooks. The solver and calculation section has to be updated also, but I will keep in mind to not go over the scope of the issue.

Project structure refactor

Project structure refactor

I recently came up with a nice project structure and I would like to apply it to this project. I consider this project to be on a larger size in scale, so the restructuring work should be interesting.

Using TypeScript path aliases, there will be a separate directory for each core part of the project;

  • core/ for business logic,
  • database/ for handling with recipe and item data
  • component/ for front end UI component
  • types/ for types and interfaces, every type and interfaces should be here except for component props definition

Allow calculation from available materials capacity

On top of computing the desired production targets, an option to compute an optimal layout from available materials.

A potential behavior could be:

  • Every field of the material must be filled to perform the computation.
  • If a material capacity is unset, assume it has zero transport capacity and skip calculation.
  • When both material capacity and desired production target are set, material capacity takes priority.

Enabling and disabling features with flags were difficult to work with, should be careful about the implementation.

Improve clarity on "Layout" card

As of current release v2.1.0, the explanation on each field on the "Layout" card is not clear and causes confusion. This problem should be solve with user manual.

Schematic generation

The last feature to complete this project is an option to build a dynamic blueprint. It is clear that blueprints in Dyson Sphere Program is an encoded string along with some metadata. The metadata is comma-separated, and the actual blueprint information is present as the payload.

Reversing engineering the blueprint encryption and decryption will undoubtedly be the most time consuming part of this feature.

Integrate indexeddb as primary database

Integrate indexeddb as primary database

The recipe data is bundled along side the source code itself. I will move data storage to indexed database. The goal is not a noble effort to reduce the strain on the network, but rather I would like to give myself an opportunity to implement a "migration-like" system within the database of the project.

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.