So I’m not quite sure where this little blog series is going to go, but I’m going to try and develop a semi serious distributed .NET Core microservices solution. One thing about the series is it will be the ‘kitchen sink’ project – any technology I read about, hear about or otherwise will be thrown at it, primarily for my own learning purposes but perhaps to aid other readers as well.
I’m proposing to base it on the layout of a University’s architecture, so students and their learning might be a key focus. I’ve chosen this domain as (a) its one I know relatively well and (b) for others it should be relatively simple domain to understand and thus allow focus on the technology.
The below is all subject to change, but a broad outline for the kind of blog posts I intend to publish are below (and I’ll change these to link to the blog posts as they go live). The series will start with a focus on developing the ecosystem and development environment – by getting these in place early this should hopefully lead to faster subsequent development.
- The Start – A .NET Core Web Site (A viewer of data) and a .NET Core Web API project (The Student Record System as a repository of data?)
- Using Source Control with Git and Github
- .NET Core Health Checks and a Health Check Microservice to view status
- Logging Concepts
- ELK Stack exploration
- Unit Testing with MSUnit
- Selenium Testing for User Interfaces
- Containers with Docker on Windows
- Images and Containers
- Mutli-stage images – build and run steps
- Specifying environment variables
- Mounting volumes & persistent storage
- Docker compose
- Continuous Integration & Continuous Deployment
- Developing the Student Record System Web API:
- Student Data
- Module Data
- Programme Data
- Associated Student Enrolments
- Hardcoding the data above
- Persistent storage to SQL Express with Entity Framework Core
- Docker and SQL Express?
- Raising Events from the Student Record System
- RabbitMQ (via Docker?)
- Sending events from SRS to RabbitMQ
- Processing Events in (new) Virtual Learning Environment API Application
Other topics that will be introduced as some point will be things akin to Polly and Bundle Minifer.