-
Notifications
You must be signed in to change notification settings - Fork 134
Software Engineering Principles
Dr M H B Ariyaratne edited this page Jun 8, 2026
·
3 revisions
A curated series of articles covering the core concepts, patterns, and practices that underpin the CareCode HMIS platform and modern software development in general.
| Article | Summary |
|---|---|
| Object-Oriented Programming (OOP) – Overview | Core OOP concepts: encapsulation, inheritance, polymorphism, abstraction |
| SOLID Principles | Five design principles for maintainable, flexible OO design (Single Responsibility, Open/Closed, Liskov, Interface Segregation, Dependency Inversion) |
| Software Design Pattern | Common patterns including MVC — separating concerns for maintainability and testability |
| Article | Summary |
|---|---|
| Architecture | Single-tier through multi-tier architectural styles explained |
| Migration from Monolithic Architecture to Microservices | Why and how to break apart a monolith — concepts and strategy |
| Converting Tightly Coupled Application into Loosely Coupled and Pluggable Modules | Practical patterns for reducing coupling |
| Transitioning CareCode HIMS from a Monolithic Architecture to Mini‐Services | CareCode-specific roadmap from monolith to mini-services |
| Business Process Reengineering (BPR) | Radically redesigning business processes for dramatic performance improvements |
| Article | Summary |
|---|---|
| Tech Stack | Languages, frameworks, and tools used in the CareCode platform |
| Introduction to Technologies | Orientation to the technologies involved |
| Java | The Java version in use and links to deeper Java articles |
| Overview of Java Editions and Usage in CareCode | SE vs EE vs ME — which editions are used and why |
| Overview of Java Specifications, Implementations, and Instances | JCP specifications, reference implementations, and runtime instances explained |
| Article | Summary |
|---|---|
| 26-Week Training Schedule for Software Trainee Engineers | Structured 26-week onboarding covering SDLC, OOP, design patterns, architecture, and the CareCode stack |
- Developer Manual — Hands-on guide for developers working on the codebase
- Developer Guidelines — Coding standards and conventions
- Code Concepts for Developers — Key concepts used throughout the project
- Design Documentation — System-level design documents
- Database Migration Development — How to write and apply DB migrations
Back to Home