.Net Ledger Web Browser Application
.Net Ledger Web Browser Application
lets you interactively process your Ledger
files just in your browser. You can put your data and immediately execute any Ledger command. No limitations and no additional software.
Ledger is a powerful double-entry accounting system. You can find more information here.
The application is built over Blazor framework that lets us create browser web applications using C# instead of JavaScript. Basically, Blazor uses WebAssembly technology to run .Net runtime inside the browser; it also allows to include any other .Net libraries like .Net Ledger
.
The application uses .Net Ledger library to process data. It functionally equals to the original Ledger
tool, so you have no limitations in commands or data files; it works like you run the original software.
Hereby, you have a lightweight web application that is always available by this link: https://dmitry-merzlyakov.github.io/nledger-launchpad. It is highly compatible to the original Ledger, so you can try any commands with any your data. It respects your privacy very match: your data is processed strongly on your computer; the application never uploads your data to the server (actually, the hosting contains static files only).
Some helping features are intended to make your experience better (text editor with syntax highlighting, virtual file system to keep your files in the local browser file storage, favorites to remember your preferable commands, configurable virtual environment and management functions). It’s worth mentioning a collection of examples (data files and commands) that the application provides; they are intended to illustrate a variety of Ledger features.
Remember, all your changes are kept in the local browser storage. There are import/export options that let you replicate your environment if you need it.
Here is an example of register
command output:
It should be noted that data processing performance in Blazor application is not so fast as native CLR, and managing data files bigger than 100K might be not comfortable (see “Performance Considerations” below).
Thus, this application might be a good option to test Ledger functions when the original tool is not available; e.g. when someone wants to explore Ledger capabilities before installing it. It might be a good testing platform with a collection of your samples. There are no obstacles to organize even a regular accounting process by means of this tool if your data files are relatively small. If you want more - you are welcome to check capabilities of native command line tools!
Prerequisites: your browser must support WebAssembly technology. You can check browser compatibility table here.
Open this link: https://dmitry-merzlyakov.github.io/nledger-launchpad. It is the only needed action; the application is ready to go immediately once it is open.
There are a few typical scenarios below you may want to try.
Command
box and click Run
When the application is open for the first time; it is positioned to Input Stream
(synonym for /dev/stdin) that contains a sample data (shown in the text editor). Your commands will be executed for this sample data
Save
Important: do not add
-f
option to commands; it is added automatically according to the selected virtual file or input stream.
Examples
button; select one or more examples and click Download
Favorites
and click on any of themThe downloaded examples appears as favorite items; referenced data files will be added to the local File System
. When you click on a favorite, the system selects the referenced file (notice changes in the text editor title and content) and executes the command (check Command box)
File System
, navigate to the root folder and click on Add File
buttonmydemo.txt
) and click CreateThe system will create a new file with a default content. Notice that the new file is selected and you can change the content in the text editor.
If you want to delete your data from the local storage or if you just want to reset the application to the original state, follow the steps:
Manage
buttonReset
option; confirm your decisionIn all, I would tell that you can do whatever you want: play with the tool, try whatever you want - you can reset your data and start again anytime. Have fun!
Public Beta
(initial development is completed, software is functioning, collecting community preview responses, bug fixing and implementing planned features)
The detail information including change logs, known limitations and road map is available here.
Pre-build binaries are available in Github Pages branch. You can get all binaries and host the application on your server.
If you want to build the application from source code:
dotnet publish src/NLedger.Launchpad/NLedger.Launchpad.csproj -c Release -o release --nologo
release
folder.dotnet test src/NLedger.Launchpad.Tests/NLedger.Launchpad.Tests.csproj
.Here is a quick summary after observing application performance on various devices:
Therefore, the application performance is definitely sufficient for data files less than 100K-200K on any machine. The application can manage bigger files, but processing time might be uncomfortable. Threshold value depends on your machine performance and can vary widely.
You can leave your suggestions or information about found bugs on the ‘Issues’ tab. You can also leave a vote for planned enhancements if you really need them.
Special thanks to authors and contributors of software components used in this project
© 2020 Dmitry Merzlyakov