{"data":{"featured":{"edges":[{"node":{"frontmatter":{"title":"Vaccination Campaign Management System","cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAQBAgMF/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhADEAAAAe6q3CVNA//EABoQAAEFAQAAAAAAAAAAAAAAAAIBAxAREkH/2gAIAQEAAQUC6e1Ju8T/AP/EABYRAQEBAAAAAAAAAAAAAAAAAAEQEf/aAAgBAwEBPwFNn//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABkQAAMAAwAAAAAAAAAAAAAAAAABERIgMf/aAAgBAQAGPwIcyFe6f//EABkQAAMBAQEAAAAAAAAAAAAAAAABESFBMf/aAAgBAQABPyHbzCBguTwRF3jadII//9oADAMBAAIAAwAAABAbH//EABYRAQEBAAAAAAAAAAAAAAAAAAEAEf/aAAgBAwEBPxCAYX//xAAWEQEBAQAAAAAAAAAAAAAAAAABEBH/2gAIAQIBAT8QHJ//xAAaEAEAAwEBAQAAAAAAAAAAAAABABEhMUGB/9oACAEBAAE/ELrCKGoUwoIEvaxWxMENFv2PqI55OJ//2Q=="},"images":{"fallback":{"src":"/static/29fd442d40c0f079f76d91c0f6032117/78b08/vaccinationsystem.jpg","srcSet":"/static/29fd442d40c0f079f76d91c0f6032117/5f1eb/vaccinationsystem.jpg 175w,\n/static/29fd442d40c0f079f76d91c0f6032117/a9586/vaccinationsystem.jpg 350w,\n/static/29fd442d40c0f079f76d91c0f6032117/78b08/vaccinationsystem.jpg 700w","sizes":"(min-width: 700px) 700px, 100vw"},"sources":[{"srcSet":"/static/29fd442d40c0f079f76d91c0f6032117/218dd/vaccinationsystem.avif 175w,\n/static/29fd442d40c0f079f76d91c0f6032117/7fbd3/vaccinationsystem.avif 350w,\n/static/29fd442d40c0f079f76d91c0f6032117/d4d5f/vaccinationsystem.avif 700w","type":"image/avif","sizes":"(min-width: 700px) 700px, 100vw"},{"srcSet":"/static/29fd442d40c0f079f76d91c0f6032117/d5efe/vaccinationsystem.webp 175w,\n/static/29fd442d40c0f079f76d91c0f6032117/b74fb/vaccinationsystem.webp 350w,\n/static/29fd442d40c0f079f76d91c0f6032117/022b4/vaccinationsystem.webp 700w","type":"image/webp","sizes":"(min-width: 700px) 700px, 100vw"}]},"width":700,"height":385}}},"tech":["Django","PostgreSQL","HTML5/CSS3","Media Handling"],"github":"https://github.com/brook1717/vaccination-system","external":null,"cta":null,"category":null},"html":"<p>Developed a centralized vaccination management system designed to coordinate multiple vaccination centers and track vaccine inventory in real time. I designed a <strong>relational database architecture</strong> to manage dose availability across multiple geographic locations.</p>\n<p>The platform includes a <strong>custom scheduling system</strong> that prevents over-booking at vaccination centers and ensures balanced appointment distribution. I also implemented secure <strong>media handling</strong> for managing user health profile uploads within the application.</p>"}},{"node":{"frontmatter":{"title":"Gym Membership & Payment Management System","cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAKABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAIBAwX/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAB2mrcCBP/xAAXEAADAQAAAAAAAAAAAAAAAAABAhAx/9oACAEBAAEFAhVyf//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABQQAQAAAAAAAAAAAAAAAAAAACD/2gAIAQEABj8CX//EABUQAQEAAAAAAAAAAAAAAAAAACAx/9oACAEBAAE/IZR//9oADAMBAAIAAwAAABAj3//EABURAQEAAAAAAAAAAAAAAAAAAAAR/9oACAEDAQE/EIj/xAAVEQEBAAAAAAAAAAAAAAAAAAAQEf/aAAgBAgEBPxCn/8QAGxABAAICAwAAAAAAAAAAAAAAAQARMVFBYZH/2gAIAQEAAT8Qbv7Le43E8pbuK3mf/9k="},"images":{"fallback":{"src":"/static/cde1a4bbf674103dbbe0e012b51c486f/468fb/gym.png","srcSet":"/static/cde1a4bbf674103dbbe0e012b51c486f/b9bb2/gym.png 175w,\n/static/cde1a4bbf674103dbbe0e012b51c486f/aa464/gym.png 350w,\n/static/cde1a4bbf674103dbbe0e012b51c486f/468fb/gym.png 700w,\n/static/cde1a4bbf674103dbbe0e012b51c486f/d75e3/gym.png 1400w","sizes":"(min-width: 700px) 700px, 100vw"},"sources":[{"srcSet":"/static/cde1a4bbf674103dbbe0e012b51c486f/c3835/gym.avif 175w,\n/static/cde1a4bbf674103dbbe0e012b51c486f/cdba5/gym.avif 350w,\n/static/cde1a4bbf674103dbbe0e012b51c486f/c74f5/gym.avif 700w,\n/static/cde1a4bbf674103dbbe0e012b51c486f/e7d8e/gym.avif 1400w","type":"image/avif","sizes":"(min-width: 700px) 700px, 100vw"},{"srcSet":"/static/cde1a4bbf674103dbbe0e012b51c486f/71830/gym.webp 175w,\n/static/cde1a4bbf674103dbbe0e012b51c486f/b0cbb/gym.webp 350w,\n/static/cde1a4bbf674103dbbe0e012b51c486f/f1516/gym.webp 700w,\n/static/cde1a4bbf674103dbbe0e012b51c486f/2f8ab/gym.webp 1400w","type":"image/webp","sizes":"(min-width: 700px) 700px, 100vw"}]},"width":700,"height":333}}},"tech":["Django REST Framework","PostgreSQL","JWT Auth","Chapa API","Docker"],"github":"https://github.com/brook1717/Gym_management","external":null,"cta":null,"category":null},"html":"<p>A backend system designed to digitize gym membership management and payment processing for fitness businesses in Ethiopia. The platform integrates the <strong>Chapa payment gateway</strong> to automate membership renewals, payment tracking, and revenue management.</p>\n<p>The system implements a robust <strong>Role-Based Access Control (RBAC)</strong> model to ensure sensitive financial data and administrative functions are restricted to authorized staff. I also built an <strong>Activity Logging system</strong> to maintain a complete audit trail of administrative actions, improving system transparency and operational accountability.</p>"}},{"node":{"frontmatter":{"title":"AWS Highly Available Web Architecture","cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAQABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAIF/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAB3QWD/8QAFhABAQEAAAAAAAAAAAAAAAAAQQAQ/9oACAEBAAEFAtW//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQAGPwJf/8QAGxAAAgEFAAAAAAAAAAAAAAAAAAEQETFBUbH/2gAIAQEAAT8hy0J8ilxtH//aAAwDAQACAAMAAAAQ8A//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAZEAEBAQADAAAAAAAAAAAAAAARASEAEDH/2gAIAQEAAT8QbKLhavnNJJ4N6mtAHCZAHX//2Q=="},"images":{"fallback":{"src":"/static/2432ceb9746451c43fc050bb8b76e9dd/1c345/architecture-diagram.jpg","srcSet":"/static/2432ceb9746451c43fc050bb8b76e9dd/18003/architecture-diagram.jpg 175w,\n/static/2432ceb9746451c43fc050bb8b76e9dd/587b0/architecture-diagram.jpg 350w,\n/static/2432ceb9746451c43fc050bb8b76e9dd/1c345/architecture-diagram.jpg 700w","sizes":"(min-width: 700px) 700px, 100vw"},"sources":[{"srcSet":"/static/2432ceb9746451c43fc050bb8b76e9dd/dd155/architecture-diagram.avif 175w,\n/static/2432ceb9746451c43fc050bb8b76e9dd/a9ed7/architecture-diagram.avif 350w,\n/static/2432ceb9746451c43fc050bb8b76e9dd/6985e/architecture-diagram.avif 700w","type":"image/avif","sizes":"(min-width: 700px) 700px, 100vw"},{"srcSet":"/static/2432ceb9746451c43fc050bb8b76e9dd/9f4f3/architecture-diagram.webp 175w,\n/static/2432ceb9746451c43fc050bb8b76e9dd/6061d/architecture-diagram.webp 350w,\n/static/2432ceb9746451c43fc050bb8b76e9dd/607fc/architecture-diagram.webp 700w","type":"image/webp","sizes":"(min-width: 700px) 700px, 100vw"}]},"width":700,"height":554}}},"tech":["AWS","Terraform","Auto Scaling","Multi-AZ RDS","GitHub Actions"],"github":"https://github.com/brook1717/ha-scalable-webapp-aws.git","external":null,"cta":null,"category":null},"html":"<p>Designed and deployed a production-grade, highly available web architecture on AWS. I built a <strong>custom VPC</strong> spanning multiple Availability Zones to eliminate single points of failure and ensure system resilience.</p>\n<p>Traffic is distributed through an <strong>Application Load Balancer</strong> to <strong>Auto Scaling EC2 instances</strong>, enabling the system to automatically scale during demand spikes. The database layer uses <strong>Amazon RDS in a private subnet</strong> to isolate it from public access, secured through strict <strong>security group rules</strong> and <strong>IAM policies</strong>.</p>\n<p>The entire infrastructure is provisioned using <strong>Terraform</strong>, enabling reproducible and version-controlled cloud deployments.</p>"}},{"node":{"frontmatter":{"title":"UniMap: Smart Campus Navigation System","cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAKABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIDAQX/xAAVAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAAB5bzwJiln/8QAFxABAQEBAAAAAAAAAAAAAAAAARAAAv/aAAgBAQABBQIM8FVn/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFRABAQAAAAAAAAAAAAAAAAAAIDH/2gAIAQEABj8Ci//EABkQAAMBAQEAAAAAAAAAAAAAAAABESFRQf/aAAgBAQABPyFN0OKx4VcK++Ej1jP/2gAMAwEAAgADAAAAEMvP/8QAFREBAQAAAAAAAAAAAAAAAAAAARD/2gAIAQMBAT8QJ//EABURAQEAAAAAAAAAAAAAAAAAAAEQ/9oACAECAQE/EEWf/8QAHBABAAMBAAMBAAAAAAAAAAAAAQARIUExYXGB/9oACAEBAAE/ELK9EvlkSlgWbYfpG3r4zzawdnpEdic3k//Z"},"images":{"fallback":{"src":"/static/47fa2e1f5d5c171aa146e368ba136a96/8d934/unimap.jpg","srcSet":"/static/47fa2e1f5d5c171aa146e368ba136a96/cb333/unimap.jpg 175w,\n/static/47fa2e1f5d5c171aa146e368ba136a96/778c5/unimap.jpg 350w,\n/static/47fa2e1f5d5c171aa146e368ba136a96/8d934/unimap.jpg 700w,\n/static/47fa2e1f5d5c171aa146e368ba136a96/ab3bb/unimap.jpg 1400w","sizes":"(min-width: 700px) 700px, 100vw"},"sources":[{"srcSet":"/static/47fa2e1f5d5c171aa146e368ba136a96/29fb5/unimap.avif 175w,\n/static/47fa2e1f5d5c171aa146e368ba136a96/385c0/unimap.avif 350w,\n/static/47fa2e1f5d5c171aa146e368ba136a96/b016a/unimap.avif 700w,\n/static/47fa2e1f5d5c171aa146e368ba136a96/546dd/unimap.avif 1400w","type":"image/avif","sizes":"(min-width: 700px) 700px, 100vw"},{"srcSet":"/static/47fa2e1f5d5c171aa146e368ba136a96/4ebdb/unimap.webp 175w,\n/static/47fa2e1f5d5c171aa146e368ba136a96/6e30e/unimap.webp 350w,\n/static/47fa2e1f5d5c171aa146e368ba136a96/cf144/unimap.webp 700w,\n/static/47fa2e1f5d5c171aa146e368ba136a96/76e34/unimap.webp 1400w","type":"image/webp","sizes":"(min-width: 700px) 700px, 100vw"}]},"width":700,"height":335.00000000000006}}},"tech":["Django","GeoDjango","PostgreSQL","PostGIS","React","Tailwind CSS","Leaflet","Docker"],"github":"https://github.com/brook1717/unimap-jju-campus","external":null,"cta":null,"category":"deployed"},"html":"<p>A high-performance <strong>GIS-based web and mobile application</strong> designed to simplify navigation across Jigjiga University campus. It allows users to locate buildings, explore facilities, and generate optimal walking routes.</p>\n<p>🌐 <strong>Live Site:</strong> <a href=\"https://jigjigaunimap.birukkasahun.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://jigjigaunimap.birukkasahun.com/</a><br>\n📱 <strong>Android App:</strong> <a href=\"https://play.google.com/store/apps/details?id=com.birukkasahun.unimap\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://play.google.com/store/apps/details?id=com.birukkasahun.unimap</a></p>\n<p>Built with a mobile-first approach using <strong>GeoDjango + PostGIS</strong> for spatial data handling and <strong>React + Leaflet</strong> for interactive maps. The system manages 80+ campus locations using GeoJSON/CSV datasets and provides building details and images.</p>\n<p>Containerized with <strong>Docker</strong> for consistent deployment and scalability.</p>"}},{"node":{"frontmatter":{"title":"MediFlow Serverless API","cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","placeholder":{"fallback":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAMCBf/EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHu5wG4RAKuGf/EABsQAAEEAwAAAAAAAAAAAAAAAAEAAhARAyEi/9oACAEBAAEFAnaFmHcp1zksFf/EABYRAQEBAAAAAAAAAAAAAAAAABACMf/aAAgBAwEBPwEnT//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EAB0QAAIBBAMAAAAAAAAAAAAAAAECEAARISIxMkH/2gAIAQEABj8CwL0NeYLljal7SufY/8QAHRABAAICAgMAAAAAAAAAAAAAAREhABAxQVFhwf/aAAgBAQABPyFKsjxiFVa/WhxgODFJkhevu1Aq76//2gAMAwEAAgADAAAAEK/PvP/EABcRAQADAAAAAAAAAAAAAAAAAAEQESH/2gAIAQMBAT8QAujY3H//xAAXEQEBAQEAAAAAAAAAAAAAAAABEDER/9oACAECAQE/EOqZHJ//xAAdEAEAAQQDAQAAAAAAAAAAAAABEQAQITFBUXGh/9oACAEBAAE/EFOAYDupUpLF682nqUKUx4UqFGseI+LNCZACDs6t/9k="},"images":{"fallback":{"src":"/static/f6931117ec25726b3d6654ed0341e463/64fa5/architecture-diagram.jpg","srcSet":"/static/f6931117ec25726b3d6654ed0341e463/65c94/architecture-diagram.jpg 165w,\n/static/f6931117ec25726b3d6654ed0341e463/b633e/architecture-diagram.jpg 329w,\n/static/f6931117ec25726b3d6654ed0341e463/64fa5/architecture-diagram.jpg 658w","sizes":"(min-width: 658px) 658px, 100vw"},"sources":[{"srcSet":"/static/f6931117ec25726b3d6654ed0341e463/71566/architecture-diagram.avif 165w,\n/static/f6931117ec25726b3d6654ed0341e463/8cbd6/architecture-diagram.avif 329w,\n/static/f6931117ec25726b3d6654ed0341e463/5b5c8/architecture-diagram.avif 658w","type":"image/avif","sizes":"(min-width: 658px) 658px, 100vw"},{"srcSet":"/static/f6931117ec25726b3d6654ed0341e463/8e595/architecture-diagram.webp 165w,\n/static/f6931117ec25726b3d6654ed0341e463/2889e/architecture-diagram.webp 329w,\n/static/f6931117ec25726b3d6654ed0341e463/3bb3c/architecture-diagram.webp 658w","type":"image/webp","sizes":"(min-width: 658px) 658px, 100vw"}]},"width":700,"height":707.4468085106383}}},"tech":["AWS","Terraform","Lambda","API Gateway","DynamoDB","S3","Cognito","Node.js","GitHub Actions"],"github":"https://github.com/brook1717/mediflow-serverless-api","external":null,"cta":null,"category":null},"html":"<p>A production-grade serverless backend system built on AWS, designed to demonstrate scalable, secure, and event-driven architecture. The platform leverages <strong>AWS Lambda</strong> and <strong>API Gateway</strong> for compute, with <strong>DynamoDB</strong> and <strong>S3</strong> handling data storage and file management.</p>\n<p>The system implements a decoupled <strong>event-driven pipeline</strong> using presigned URLs, enabling direct file uploads to S3 and asynchronous processing via Lambda, improving performance and system resilience.</p>\n<p>Infrastructure is fully managed using <strong>Terraform</strong> with automated CI/CD through <strong>GitHub Actions</strong>, ensuring reproducible deployments. Security is enforced through <strong>JWT-based authentication with Cognito</strong> and strictly scoped <strong>IAM roles</strong>, following best practices for cloud-native applications.</p>"}}]}}}