給貴圖.png

‎人才培育 eHRD-U

Project Description

The Learning APP is a project I initiated and built from the ground up at the company. I was responsible for everything, from choosing the technology to planning the project architecture and setting up the infrastructure. Initially, I opted for a Monorepo architecture, emphasizing dependency management, shared lib programs, and collaborative teamwork. I utilized Nx.dev to construct the Angular Monorepo structure and establish the project.

Subsequently, I began building various infrastructure components, including authorization, requests, language settings, and more, organizing them into referable libs for easy maintenance.

Considering component creation, I chose Angular Material to save time, as it is developed by the Angular team, ensuring optimal compatibility and regular updates. The basic approach involved modifying Angular Material and creating shared components. If certain styles didn't meet our requirements, we used CSS for overrides.

After building components, the next step was layout and establishing a unified CSS style. Here, we implemented Tailwind CSS, known for its 'Utility First' feature, generating a multitude of rule-based classes through a configuration file. Any adjustments to color or spacing could be efficiently made by modifying the configuration file.

With the project structure, infrastructure, and components in place, we were able to implement the majority of functionalities. However, we encountered complex scenarios, such as login-related states, for which we used Redux to manage multiple contexts, transforming each into a state for effective management.

Given that the APP encompassed more than just page functionalities, including features like a camera, file uploads, and push notifications, we employed Capacitor. Developed by the Ionic team, Capacitor bridges communication with the underlying mobile device. We could also write plugins to customize specific requirements. Additionally, it supports Cordova, ensuring compatibility with relevant packages and facilitating low-level configurations and APP builds.

Through this project, I learned about project architecture design and collaboration within a team, equipping me with fundamental frontend architecture thinking and teamwork communication skills. While the project has reached a significant completion stage, I continuously contemplate areas for adjustments, improvements, and further expansion of its strengths. These experiences constitute my ongoing learning journey.”

Teamwork

Untitled

The above describes the team collaboration workflow. We conduct stand-up meetings in the morning for discussing and reporting issues. Weekly, there are planning meetings where we discuss matters with PM, Art, and RD, addressing encountered problems or discussing future directions. This entire process is managed through Jira and Notion.

APP Description

Empower learners to engage in digital learning anytime, anywhere, enabling real-time tracking of their learning progress.

Overview of the Project's Basic Architecture and Workflow