Contributor
Ahmed Hossam

Building an API Client for OBA Servers


Mentors
Aaron Brethorst
Organization
Open Transit Software Foundation
Technologies
TypeScript - Python
Topics
web, api, backend, REST
Summary: The OBA project aims to develop official OneBusAway REST API client libraries in TypeScript and Python, enhancing accessibility and user experience for developers interacting with OneBusAway servers. These libraries will support all REST API methods, handle diverse data types, include comprehensive tests, and provide helpful examples for new users. About Me: I am Ahmed Hossam, a senior information technology student with a passion for technology and problem-solving. With experience in backend engineering and competitive programming, I am excited to contribute to the OBA project and make a positive impact. Investigations: I have familiarized myself with OneBusAway endpoints, built a beta version of the TypeScript package, and experimented with different structures for scalability and maintainability. Detailed Design: The API client follows a modular structure, with each endpoint encapsulated within its own module. It employs a combination of factory and dependency injection patterns and includes a base class for foundational HTTP request functionality. Implementation Plan: I will collaborate closely with mentors to understand API client requirements and plan implementation details. Error handling and unit testing will be prioritized, followed by thorough testing and the publishing of final packages. Proposal Timeline: The timeline spans 14 weeks, beginning with communication and research in the first three weeks, followed by official coding in TypeScript. Python implementation will commence in week 9, with completion and finalization in week 14. Why Me: I find joy in making OBA APIs accessible to everyone and am dedicated to contributing positively to the project. My experience in API development, along with continuous learning, makes me well-suited for this role.