EXCEEDS logo
Exceeds
Ziadsharkos

PROFILE

Ziadsharkos

Ziad El Sharkawi developed core backend features for the SOEN490-SportsApp/SportsApp repository, focusing on scalable microservices and event-driven architectures. Over six months, he delivered user profile management, object storage with MinIO, and a robust notification system, integrating technologies such as Java, Spring Boot, and Kafka. His approach emphasized maintainability through comprehensive unit testing, code refactoring, and detailed API documentation. Ziad implemented secure authentication with Keycloak and OAuth2, streamlined data flows with DTOs, and ensured reliable CI by enhancing test coverage and build processes. His work addressed data privacy, operational reliability, and developer experience, resulting in a well-architected, production-ready backend.

Overall Statistics

Feature vs Bugs

87%Features

Repository Contributions

125Total
Bugs
5
Commits
125
Features
34
Lines of code
6,654
Activity Months6

Work History

April 2025

26 Commits • 5 Features

Apr 1, 2025

April 2025 delivered a comprehensive NotificationEvent-driven notification framework for SOEN490-SportsApp/SportsApp. Implemented NotificationEvent model, producer/consumer, and orchestration flow via Kafka, enabling reliable cross-service notification data handling. Introduced orchestration service producer with mocks and updated topic wiring; refactored EventService to use NotificationEvent creation, centralizing event handling and improving testability. Fixed key stability issues, updated dependencies, and refreshed docs to support ongoing feature work (friend requests, badges).

March 2025

22 Commits • 13 Features

Mar 1, 2025

March 2025 (SOEN490-SportsApp/SportsApp) - Delivered a robust Notification Service foundation with secure, scalable, event-driven capabilities. Key features delivered include scaffolding with Gradle and OAuth2/Keycloak prep, Keycloak JWT support, global exception handling, core data models and MongoDB persistence, and a comprehensive messaging stack (Kafka, WebSocket) with orchestration support. API surface received OpenAPI, security, and CORS configurations. Logging and observability improvements were added via EndpointFilter/RequestIdFilter. Also updated Kafka bootstrap configuration to read from environment variables for reliable deployment. These efforts collectively enable reliable notification delivery for social interactions (friend requests, mentions, badges) and event lifecycle notifications, delivering business value through improved user engagement, security, and operational reliability.

February 2025

54 Commits • 10 Features

Feb 1, 2025

February 2025: Delivered a comprehensive Object Management Subsystem and storage infrastructure for SportsApp, enabling scalable, secure object storage via MinIO; completed event lifecycle enhancements including event state enums and cancellation flow; updated user profiles with profile picture support and exposed public MinIO URLs. Also performed substantial codebase cleanup and hardened the test suite, improving maintainability and CI stability. Demonstrated strong collaboration across storage, event, and profile modules, and accelerated deployment readiness through Dockerized services and clear DTOs.

January 2025

11 Commits • 3 Features

Jan 1, 2025

January 2025 (Month: 2025-01) – Monthly summary for SOEN490-SportsApp/SportsApp focusing on business value and technical achievements. Key features delivered: - User Deletion and Data Cleanup: Implemented DELETE /users/{id} in UserController with corresponding services to purge user data from Keycloak and the user repository, including robust error handling for non-existent users and Keycloak communication issues. (Commits: ed543bfb3a269109f3235efef1a96d3d3a0bd505; 019d288a5e164755558cab101720369c30f8d5a7) - Storage Service Foundations: Scaffolded a new storage-service microservice with Spring Boot setup, OAuth2 integration, and Swagger for API docs – establishing groundwork for storage feature delivery. (Commit: 291555f1a3975974f2508d00bd06ee603bb5b138) - Test Suite Enhancements for User Service and Auth: Expanded test coverage across controllers, utilities, and Keycloak error scenarios; improved branch coverage and Mockito setup for reliable CI, including tests for Mappers, Controllers, Utils, and various response scenarios. (Commits: acde2026d85f17049bdd1a9e025ebf893c3be3d9; 7cb0537fe04732314d1fe2f55127332284943dc0; a79df79e4777c9dbaf05e623f959550cfc882b42; 904ff65147a713877cb8314d2fc47672b9697378; 95f4009fe8ee428a74489ae776df709afab281ba; 7bb0ca42bad3ff15a1282cc950103139fe00f608; 76db816256f8c44643caa9399068f9cff9e771f4; bdb20c7a8d2051dc97aab7f77635cd7712d0ce86) Major bugs fixed: - Resolved issues in user deletion flow by ensuring graceful handling of non-existent users and resilient Keycloak communication, reducing failure modes in data cleanup. - Stabilized test execution by excluding problematic components from test compilations and enhancing Mockito setup, leading to more reliable CI and faster feedback. Overall impact and accomplishments: - Strengthened data privacy and lifecycle management by delivering a robust user deletion pathway that purges data from both Keycloak and the local repository. - Improved software quality, test reliability, and CI feedback loops through comprehensive test suite enhancements and test hygiene improvements. - Laid strategic groundwork for storage capabilities with a new microservice scaffold, enabling faster feature delivery in future sprints. Technologies/skills demonstrated: - Spring Boot, REST controllers, Keycloak OAuth2 integration - Microservices architecture and API documentation with Swagger - Unit/integration testing with JUnit/Mockito; test strategy and coverage improvements - Git-based workflow (GH issues, commits) and CI hygiene

December 2024

4 Commits • 1 Features

Dec 1, 2024

December 2024 monthly summary for SOEN490-SportsApp/SportsApp focusing on delivering robust event update capabilities, improving maintainability, and enhancing developer experience. The work delivered concrete REST update support, expanded test coverage, and thorough documentation, driving reliability and faster feature delivery for event management.

November 2024

8 Commits • 2 Features

Nov 1, 2024

November 2024 (SOEN490-SportsApp/SportsApp) delivered core user-data capabilities and engagement features with robust test coverage and maintainability improvements. Implemented two main features: (1) User Profile Retrieval by ID with a dedicated endpoint, service method, repository query, and new UserDoesNotExistException; inclusive of comprehensive unit tests and test adjustments to align with profile model changes. (2) User Badges System enabling badge assignment, retrieval, DTOs/models, and badge counts, with corresponding unit tests and minor refactors. Key changes include targeted tests for failure scenarios, removal of a failing test file, and removal of unnecessary imports to improve build and test performance.

Activity

Loading activity data...

Quality Metrics

Correctness91.6%
Maintainability92.2%
Architecture89.6%
Performance86.4%
AI Usage22.6%

Skills & Technologies

Programming Languages

DockerfileGradleJavaKotlinMarkdownproperties

Technical Skills

API ConfigurationAPI DesignAPI DevelopmentAPI DocumentationBackend DevelopmentBuild ConfigurationBuild ManagementBuild ProcessBuild ToolsCORS ConfigurationCloud StorageCloud Storage ConfigurationCloud Storage IntegrationCode CleanupCode Organization

Repositories Contributed To

1 repo

Overview of all repositories you've contributed to across your timeline

SOEN490-SportsApp/SportsApp

Nov 2024 Apr 2025
6 Months active

Languages Used

JavaGradleKotlinDockerfilepropertiesMarkdown

Technical Skills

API DevelopmentBackend DevelopmentCode CleanupDatabase Management (MongoDB)Exception HandlingJava

Generated by Exceeds AIThis report is designed for sharing and indexing