I am in the process of developing a circuit simulation engine, this is on-going but the foundational interfaces and basic simulation functions have been completed. I need a mobile and web-based front-end application to sit on top of this and surface the functionality. Initially, this will be digital only, but I have plans to extend this to be mixed mode, analogue and digital.
I am an experienced developer myself, I just don't have the time to work on this UI application personally. The application should be written in Typescript, using Ionic 4 as the framework. So any bidders should have experience in these technologies.
I would like the application to be developed with browser support in mind, however, the initial target is mobile. If the job is completed satisfactorily, I will be enlisted the winning bidder's services again to take this onto the web too. I have plans for a lot of development on this project, but being a seed idea, I need to start small and bring ideas as stepped updates.
Basic high-level requirements:
iOS and Android supported via Ionic/Cordova
Developed with Web support in mind
The interface elements (menus, sidebars, input controls etc) should use the standard Ionic templates to allow for easy extension and updates in phase 2.
Allow the user to build and design digital circuits using touch (mouse/keyboard in the future).
The circuit simulation design area should be built either using an HTML5 canvas directly or a lightweight rendering library that sits over an HTML5 canvas.
The simulation design area should support basic panning, zooming, dragging of elements, selecting of elements. When zoomed the elements should not have artefacts, maybe use paths to draw the elements/wires or large enough images so that when at maximum zoom they don't look terrible.
The application UI should be built around events and states. Again this is to allow for future enhancements. An example would be the ability to run the simulation from numerous places and the entire UI react accordingly, disabling/enabling actions, showing/hiding context-specific elements etc.
Interact with the provided simulation engine to provide real-time simulation feedback and input from the user.
Storage access will be required to save circuit diagrams and create custom components from said circuit diagrams.
Mobile friendly circuit element catalogue, this is defined in the wireframes.
Best practices and clean code standards must be followed.
No API integration required for phase 1.
The basic pages for the application will be as follows.
Landing page - allowing the user to open an existing circuit (with folder structure) or create a new one.
Design page - simulation engine, element catalogue, design tools (wiring tool).
I have wireframes of the mobile application and can give access to my private NPM repository containing the simulation engine library.
Note: I'm afraid I only speak English, so a good understanding of the English language is a must.