Akkhayar Documentation
website·Indexed 30 days ago
https://docs.akkhayar.com/The Akkhayar Handbook providing organizational guidelines, including the release process, co-designing UX processes, contributing standards, and compliance with Semantic Version 2.0.0. It also covers the organization's values, principles, and criteria for joining the team.
What's inside Akkhayar
- Akkhayar is an organization dedicated to large-scale open-source development in Myanmar. It operates as a hybrid between a professional corporate setting and a community-driven collective, providing junior developers with professional experience while maintaining transparency and accessibility. The organization focuses on building a sustainable community where contributors can easily participate and grow.
Understand Akkhayar's core values and principles
Akkhayar operates based on three core values that guide all its actions and organizational goals:
- Modernization (ခေတ်မီရေး): Akkhayar aims to modernize software standards in Myanmar by adopting contemporary design principles, modern development practices, and new software creation methodologies. The organization embraces adaptability, experimentation with new technologies, and a willingness to fail or be different to achieve this goal.
- Creativity (တီထွင်ဖန်တီးမှု): While modern technology helps solve complex problems, Akkhayar believes that creativity is the primary driver of superior technological advancement. Members are encouraged to be skilled and creative.
- Social Service (လူမှုရေးဝန်ဆောင်မှု): The organization is founded to provide experience for the next generation of technologists. This is achieved through an open-source model and organizational transparency, allowing the public to contribute to, learn from, and observe how the organization operates.
Understand Akkhayar's core values and organizational principles
Akkhayar operates based on three core values that guide its actions and community foundation:
- Modernization: Focuses on evolving the software industry in Myanmar by introducing contemporary design principles, modern development practices, and agile methodologies. The organization embraces experimentation and the willingness to fail in pursuit of progress.
- Creativity: Encourages members to be competent and creative, viewing creativity as the essential 'algorithm' for using modern simplicity to solve complex problems.
- Social Work: Aims to provide a platform for the next generation of developers to gain experience and build portfolios. This is achieved through an open-source model (allowing community contribution and learning) and organizational transparency (allowing the community to learn how the organization is managed).
Checkout to a feature branch via command line
When creating a branch associated with an issue, use the provided Git commands to switch to that branch before starting development. This ensures all changes are committed to the correct feature branch.git fetch origin git checkout <branch_name>Checkout to a feature branch using Visual Studio Code
In Visual Studio Code, you can switch to a feature branch using the Git extension in the status bar. It is recommended to fetch the origin first by clicking the refresh icon in the status bar. To switch branches, click the branch name in the status bar, then select the desired feature branch from the input box that appears.Include a Pull Request in a monthly release
To ensure a Pull Request (PR) is included in the upcoming monthly release, it must be merged into themainbranch before the release candidate (RC) is created. This must occur before the release managers announce the RC. If the status of a PR is unclear, consult the release managers.Execute the Monthly Release Process
The monthly release follows a four-step lifecycle to move code from development to production:
- First Steps: Setup the release schedule and deployment cadence.
- Release Candidate (RC): Create a stable branch for the targeted semver version. Build, test, and deploy the RC package to the pre-production environment. Once validated, release managers announce the final commit to be included.
- Tag: Release managers tag the final version based on the successful RC. The release is built and deployed to the Release environment.
- Release: Publish the release packages on the scheduled release day.
Execute the akkhayar two-week UX co-design workflow
The akkhayar UX process is a condensed two-week framework focused on rapid iteration. While the workflow adapts to project specifics, the general skeletal structure is as follows:
Week 1: Understand and Prototype
- Days 1-2 (Research & Analysis): Gather insights via surveys or interviews, create basic user personas, and outline primary user journeys and pain points.
- Days 3-4 (Low-Fidelity Prototyping): Develop rough sketches and basic wireframes focusing on a seamless user journey. This is the primary phase for communication with the backend team.
- Days 5-6 (Low-Fi Usability Testing): Conduct fast-paced tests with small user groups/stakeholders, analyze recurring themes, prioritize changes using priority tags, and iterate.
Week 2: Test and Refine
- Days 7-8 (High-Fidelity Design): Create high-fidelity prototypes/mockups based on low-fi feedback, refine visuals and UI components, and conduct a UX Audit.
- Days 9-10 (High-Fi Usability Testing): Test high-fi prototypes for visual design and interaction feedback, then make immediate refinements.
- Days 11-12 (Finalization & Handoff): Prepare a detailed Design Specification document (containing design elements, guidelines, and requirements) and initiate development.
Checkout a feature branch using the command line
When creating a branch associated with an issue, use the provided checkout commands before starting development to ensure changes are committed to the correct feature branch. You must fetch the latest updates from the remote origin before switching branches.git fetch origin git checkout <branch_name>Use Conventional Commit types for Akkhayar projects
When contributing to Akkhayar projects, use the following commit type prefixes to categorize changes. This ensures a clean and searchable project history.fix: a bug fix (e.g., fix: typo in code) feat: a new feature (e.g., feat: added navbar) docs: documentation only changes (e.g., docs: add new documentation) style: formatting, missing semi-colons, etc; no code meaning change (e.g., style: remove trailing spaces) refactor: a code change that neither fixes a bug nor adds a feature (e.g., refactor: remove redundant code) test: adding missing tests or correcting existing tests (e.g., test: add unit test for component) ci: changes to CI configuration files and scripts, e.g., Docker, Github Runners (e.g., ci: update dockerfile) chore: other changes that don't modify src or test files (e.g., chore: add pnpm build script)Checkout a feature branch in Visual Studio Code
In Visual Studio Code, you can switch to a feature branch using the Git extension tools in the status bar. It is recommended to fetch the origin first by clicking the refresh icon in the status bar. To switch branches, click the current branch name in the status bar, then select the desired feature branch from the input box that appears.Include a Pull Request in a monthly release
To ensure a PR is included in the next monthly release, it must be merged into themainbranch before the release candidate (RC) is created and before release managers announce the RC. If the status of a PR is unclear, consult the release managers.