Skip to content

OptiSchmopti/CsvProc9000

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

logo

๐Ÿ—ƒ CsvProc9000

GitHub license Uses SemVer 2.0.0 Latest Release codecov
GitHub stars GitHub forks GitHub watchers

CsvProc9000 is a light-weight, rule-based CSV-Processor. It watches a given Inbox-Folder for you and processes - based on the given rules - any new CSV-File that it catches and outputs it anywhere you want.

โš ๏ธ Support

Both the service and the UI application are currently only supported on 64 Bit Windows!

๐Ÿ–ฅ๏ธ Installation

Service

Go to the Releases and select a Release that you want to use. Generally the lastest release is recommended, because it has all the latest Fixes and Features.
Attached to the Release you'll find a CsvProc9000-vX_X_X.zip which contains:

  • appsettings.json - configuration file for CsvProc9000
  • CsvProc9000.exe - a self-contained binary containing everything that CsvProc9000 needs to run. No other software is needed
  • CreateService.bat - a Batch-File which will create and run a Windows-Service named "CsvProc9000" with the Mode "Automatic"

Before running CreateService.bat you should make sure that your configuration is the way you want it to be.

Running the CreateService.bat requires you to start an admin CMD or PowerShell, navigate to where the bat is and run the bat from inside the admin CMD/PowerShell (if you select "Run as Administrator" from the Contextmenu, the path will be broken and so the bat will fail).
If there are any issues with starting the service, check out the log-file that is generated in the location where the CsvProc9000.exe is, in the folder logs. Common issues are:

  • Forgot to configure the Inbox/Outbox folders

UI

A new addition to the CsvProc9000 family is the UI. It currently provides an easier way to configure your services configuration.

To install it you simply have to go to the Releases and select a release that you want to use.
Generally the lastest release is recommended, because it has all the latest Fixes and Features.
Attached to the Release you'll find a CsvProc9000.UI-vX_X_X.zip which contains the executable of the UI (amongst other files).

Simply extract the files anywhere you want the application to be located, and then double click the CsvProc9000.UI.exe file to run it.

๐Ÿ–ฑ๏ธ Update

Service

To update the service you can simply follow these steps:

  1. Stop the Service
  2. Replace the .exe file with the new one
  3. Change the Configuration according to any breaking changes, if any
  4. Start the Service again

UI

To update the UI you can simply follow these steps:

  1. Close the UI if you haven't already done that
  2. Delete the current installation files
  3. Download and extract the new files
  4. Run the application

๐Ÿ› ๏ธ Configuration

CsvProc9000 is heavily dependent on it's configuration, because otherwise it wouldn't know how you'd like it to behave.
Here's an example configuration with information what everything does:

image

Based on this configuration, here is a simple example on how this configuration would be applied:

image

On the left side you can see the input and on the right the output.
Based on the rules, only the 3rd row meets all conditions (SomeField=SomeValue and SomeOtherField=1337).
Because of that all other rows, but the 3rd, are unaffected by any changes. In the 3rd you can see, that in the Output, SomeOtherField got changed to the value 42 and a new field Other Field with the value 123 has been added. Every other row has an empty value for this new field.

UI

You can achieve the same with the new UI now too. Simply download and install the application, run it and choose "Config".

โŒจ๏ธ Developing

To develop and work with CsvProc9000 you just need to clone this Repo somewhere on your PC and then open the Solution or the complete Source-Folder (under src) with your favorite IDE. No additional tools required. You might need to restore the needed workloads though (use dotnet restore workload in the ./src directory).

Before you can start, you should restore all NuGet-Packages using dotnet restore if that's not done for you by your IDE.

๐Ÿ‘‹ Want to Contribute?

Cool! We're always welcoming anyone that wants to contribute to this project! Take a look at the Contributing Guidelines, which helps you get started. You can also look at the Open Issues for getting more info about current or upcoming tasks.

๐Ÿ’ฌ Want to discuss?

If you have any questions, doubts, ideas, problems or you simply want to present your opinions and views, feel free to hop into Discussions and write about what you care about. We'd love to hear from you!