Topica
Topica is a simple event/topic history provider. This service enables tracking of specific asynchronous jobs' progress or identifying failure points in a data processing pipeline.
See what scenarios topica can help with.
All rights reserved. I will eventually pick the right license for this project.
You're free to use Topica in your own projects or in commercial settings free of charge. I am not liable for any damages caused.
Rights to contribution made is transfered to repo owner immediately upon submission unless specified otherwise.
Permissions | Limitations |
---|---|
✅ Private use | ❌ Distribution |
✅ Modification | ❌ Trademark use |
✅ Commercial use | ❌ Patent use |
❌ Warranty | |
❌ Liability |
cd Example
docker-compose up
name | Description | Options |
---|---|---|
SecretKey | Long secret string used for creating Symmetric Security Key at login | string |
DbType | Db type used to store app data | 'Postgres' , 'SqlServer' , 'Sqlite' , 'InMemory' |
DbConnectionString (Optional) | Db connection string for none in-memory Db | string |
This app allows use of simple user pass or api key to auth. This is setup via passing a json file like following.
- Auth data is not persistent, the in-memory AuthDb is populated at server startup.
Topica/Example/auth.config.json
Lines 1 to 24 in 670e8ab
See Open API Spec
Using open api generator, a bunch of http clients can help you easily communicate with the server api through your app. See Clients.
Post /api/messages
Body: Job1 created
Response: 529f884e-a611-44f8-b73b-0140d5c26b63
Post /api/messages?Topic=529f884e-a611-44f8-b73b-0140d5c26b63
Body: service1: processing
Post /api/messages?Topic=529f884e-a611-44f8-b73b-0140d5c26b63
Body: service2: processing
Post /api/messages?Topic=529f884e-a611-44f8-b73b-0140d5c26b63
Body: completed
Get /api/topics/529f884e-a611-44f8-b73b-0140d5c26b63
There are currently no major features planned. Feature suggestions are welcome.
See milestones for things being currently worked on.