[{"data":1,"prerenderedAt":126},["ShallowReactive",2],{"project:\u002Fprojects\u002Ftraining-management-platform":3,"projects-nav":116},{"id":4,"title":5,"body":6,"code":92,"description":86,"extension":93,"layers":94,"link":97,"meta":98,"navigation":99,"order":95,"path":100,"role":101,"seo":102,"sitemap":103,"stack":104,"stem":112,"summary":113,"year":114,"__hash__":115},"projects\u002Fprojects\u002Ftraining-management-platform.md","Training management platform",{"type":7,"value":8,"toc":85},"minimark",[9,14,18,21,24,28,75,79,82],[10,11,13],"h2",{"id":12},"context","Context",[15,16,17],"p",{},"Professional training operations involved more than managing courses and attendees.",[15,19,20],{},"Each activity depended on customers, locations, accommodation, transportation and supporting services, with multiple courses often running concurrently across different organizations.",[15,22,23],{},"The challenge was to model these dependencies in a single system while preserving tenant isolation, maintaining consistent operational data and preventing conflicting allocations of shared resources.",[10,25,27],{"id":26},"what-i-built","What I built",[29,30,31,39,45,51,57,63,69],"ul",{},[32,33,34,38],"li",{},[35,36,37],"strong",{},"Multi-tenant architecture",": designed tenant-aware application and data boundaries so multiple organizations could operate on the same platform while keeping customers, courses, resources and operational data isolated.",[32,40,41,44],{},[35,42,43],{},"Domain model",": designed the relational model in SQL Server around courses, customers, venues, accommodation, services and resource allocations, defining their relationships and consistency constraints.",[32,46,47,50],{},[35,48,49],{},"Scheduling & conflict detection",": implemented scheduling logic for concurrent activities, detecting incompatible allocations across courses, locations, accommodation and shared resources.",[32,52,53,56],{},[35,54,55],{},"Concurrency control",": handled competing updates to scheduling and operational data to reduce the risk of conflicting assignments and inconsistent state when multiple users operated on the same resources.",[32,58,59,62],{},[35,60,61],{},"Application workflows",": developed the business logic and administrative interfaces used to manage courses, customers, resources and operational activities through .NET and StartSharp.",[32,64,65,68],{},[35,66,67],{},"Access control",": implemented role-based and tenant-aware authorization to restrict data and administrative capabilities according to organizational boundaries.",[32,70,71,74],{},[35,72,73],{},"Reporting & document generation",": generated operational reports and structured documents directly from the platform's scheduling, customer and service data, reducing manual preparation and keeping generated outputs aligned with the underlying system state.",[10,76,78],{"id":77},"outcome","Outcome",[15,80,81],{},"A centralized multi-tenant platform for coordinating training operations across multiple organizations and concurrent activities.",[15,83,84],{},"Tenant isolation, centralized scheduling, conflict detection and automated document generation reduced manual coordination while keeping operational data and resource allocations consistent.",{"title":86,"searchDepth":87,"depth":87,"links":88},"",2,[89,90,91],{"id":12,"depth":87,"text":13},{"id":26,"depth":87,"text":27},{"id":77,"depth":87,"text":78},"PRJ-003","md",[87,95,96],3,4,null,{},true,"\u002Fprojects\u002Ftraining-management-platform","Full-stack software engineer, from domain modeling to multi-tenant operational workflows",{"title":5,"description":86},{"loc":100},[105,106,107,108,109,110,111],"C#",".NET","SQL","Multi-tenancy","Role-based access control","Resource scheduling","Concurrency management","projects\u002Ftraining-management-platform","A multi-tenant management platform for coordinating training courses, customers, locations, accommodation, supporting services and reporting through centralized scheduling and resource management.",2024,"XIZNDERJUfC_gWkyqqbfSqhEzxv3QJsWDpQUKgq6eTo",[117,121,125],{"path":118,"code":119,"title":120},"\u002Fprojects\u002Fthermal-process-control","PRJ-001","Industrial thermal process control",{"path":122,"code":123,"title":124},"\u002Fprojects\u002Fsecure-access-platform","PRJ-002","Secure access platform",{"path":100,"code":92,"title":5},1791651091122]