Dormify
Ali Heydari
⏳ 1 min read
I had the opportunity to work on the Dormify project, where I was involved in various aspects of the development process. Some of my responsibilities and experience include:
- Carrying out team coordination and work.
- Meeting with dormitory managers for requirements engineering and data gathering.
- Conducting scrum meetings (planning, daily stand-ups, etc.) using Microsoft Teams, especially during the COVID-19 pandemic.
- Designing and developing a software solution for managing dormitory operations, including ticketing, issue tracking, and guest invitation management.
- Implementing a fully dockerized and automated CI/CD pipeline to streamline the development process.
Description of CI/CD
Our project consists of two packages: a common package containing reusable components and utilities, and the main package called student-panel. I designed a pipeline with three stages:
- Build: This stage builds the project and generates the necessary artifacts.
- Type Coverage: We used the type-coverage package to measure the TypeScript code coverage.
- Test: This stage includes unit testing with Jest and end-to-end testing with Cypress.
After each build, we collect artifacts that include the build output, test results, code coverage reports, Cypress videos and screenshots, and type coverage results.
Some Screenshots from CI/CD:
Pipelines
Pipeline Result
Test Results
Coverage Results
Deployment
Artifacts
Cypress Video Output
Azure Feed (Private npm Registry)
Tags:
⚓ React 🐍 Lerna🐈 YarnTypeScriptCypress👢 Jest🐙 testing-libraryStorybookMaterial-UIApollo GraphQL clientCSS-in-JS📄 React-Hook-Form🌐 i18nextDjangoGraphenenginx🐳 Docker🚀 Azure pipelines🐘 PostgreSQLAzure feeds