RunLog is an activity tracking application. Users can create/edit/delete activities. And activity has a start/stop button and while the activity is running, the device's geolocation coordinates are tracked and stored in the RunLog system.
The solution is comprised of 3 components:
- RunLog.API is a REST API that allows for client applications to interact with the RunLog system. Provides data access and back-end processing.
- RunLog.Web is a client-side SPA website to interface with the system.
- RunLog Tests is a set of unit tests and integration tests to automate testing of the system components.
Additional components:
- LiteBulb.Database to store all the data used for the system.
#Tech Stack
- .NET Core 3.1 (for Web API, Blazor WebAssembly and libraries)
- .NET Standard 2.1 (for libraries)
- LiteBulb MemoryDb 0.1 (for database)
- Swagger (API documentation)
- Serilog (logging)
The RunLog application needs a REST API to provide data storage and retrieval functionality. The API needs to perform some back-end processing. The API needs to write log messages to an AMQP message broker. An interactive UI is needed to provide user access to all the CRUD operations supported by the application.
A solution called RunLog will be developed to perform the required operations.
- RunLog application needs a logical data model that includes two entities with a cardinality relationship of one-to-many.
- REST API that implements all the CRUD operations using a resource-based modeling approach for each data model entity.
- REST API requires HTTPS security.
- Each invocation of the REST API should write a small log message describing the given interaction to an AMQP message broker.
Note: See below for links to code repositories.
TODO: Guide users through getting your code up and running on their own system. In this section you can talk about:
- Installation process
- Software dependencies
- Latest releases
- API references
- Build the solution in Visual Studio 2019 and run. TODO: Describe and show how to build your code and run the tests.
If you want to learn more about creating good readme files then refer the following guidelines. You can also seek inspiration from the below readme files: