# NBA Development Guide > The Dev Guide home page, the development guide for our developers. Every page is also available as plain Markdown: add `.md` to its URL, for example `/engineering/shipping/production-readiness.md`. The home page is `/index.md`. ## Files with every page - [Every page](https://dev-guide.nusapalagroup.com/llms-full.txt): 138 pages, 1.3 MB - [Style Guide](https://dev-guide.nusapalagroup.com/style-guide/llms-full.txt): 56 pages, 793 KB - [Engineering Practices](https://dev-guide.nusapalagroup.com/engineering/llms-full.txt): 11 pages, 70 KB - [Environments](https://dev-guide.nusapalagroup.com/environments/llms-full.txt): 8 pages, 47 KB - [Web Frontend](https://dev-guide.nusapalagroup.com/frontend/llms-full.txt): 18 pages, 116 KB - [Web Backend](https://dev-guide.nusapalagroup.com/backend/llms-full.txt): 21 pages, 133 KB - [Fullstack](https://dev-guide.nusapalagroup.com/fullstack/llms-full.txt): 7 pages, 59 KB - [Mobile](https://dev-guide.nusapalagroup.com/mobile/llms-full.txt): 14 pages, 105 KB - [Contribute](https://dev-guide.nusapalagroup.com/contribute/llms-full.txt): 2 pages, 10 KB Each of these is a large file. On a small context window, fetch a single page's `.md` file, or the file of the section you need, instead. ## General - [Home](https://dev-guide.nusapalagroup.com/index.md): The Dev Guide home page, the development guide for our developers. ## Style Guide - [Overview](https://dev-guide.nusapalagroup.com/style-guide/overview.md): The Style Guide at a glance, from foundation and design tokens to components and templates. - [Design Tokens](https://dev-guide.nusapalagroup.com/style-guide/tokens.md): The named design values in tokens.css, how they are named, and how to use them in code. - [Components](https://dev-guide.nusapalagroup.com/style-guide/components.md): Every reusable interface element with its specs, usage rules, and review status. - [Templates](https://dev-guide.nusapalagroup.com/style-guide/template.md): Reusable predefined layouts and content structures. - [UI Review Checklist](https://dev-guide.nusapalagroup.com/style-guide/ui-review-checklist.md): The design checks every screen passes before it goes to UAT and production, on web and mobile, and how each one is enforced. - [Accordion](https://dev-guide.nusapalagroup.com/style-guide/components/accordion.md): Use Accordion when content is supplementary and not immediately needed. Avoid using it for primary navigation or critical information that users must see. - [Alert](https://dev-guide.nusapalagroup.com/style-guide/components/alert.md): Used to communicate a state that affects a system, feature or page. - [Avatar](https://dev-guide.nusapalagroup.com/style-guide/components/avatar.md): User identity representation with image, initials fallback, and status indicator. - [Avatar Group](https://dev-guide.nusapalagroup.com/style-guide/components/avatar-group.md): Overlapping avatars that show who is involved, with a count for the hidden people. - [Badge](https://dev-guide.nusapalagroup.com/style-guide/components/badge.md): A compact visual label used to convey status, category, or count in a concise and scannable way. Available in multiple colors, sizes, and styles to fit various contexts across the application. - [Breadcrumb](https://dev-guide.nusapalagroup.com/style-guide/components/breadcrumb.md): Hierarchical page location indicator with clickable ancestor links. - [Button](https://dev-guide.nusapalagroup.com/style-guide/components/button.md): Primary action trigger with multiple variants, sizes, and states. Supports left, right, and icon-only layouts. - [Card](https://dev-guide.nusapalagroup.com/style-guide/components/card.md): A surface that groups one subject with its title, media, actions, and footer. - [Chart](https://dev-guide.nusapalagroup.com/style-guide/components/chart.md): A small bar or line plot for one series, with the values in a table for screen readers. - [Checkbox](https://dev-guide.nusapalagroup.com/style-guide/components/checkbox.md): Binary selection control for multi-choice forms. - [Chip](https://dev-guide.nusapalagroup.com/style-guide/components/chip.md): Compact values the user picked, such as filters or tags, that can be removed. - [Code Viewer](https://dev-guide.nusapalagroup.com/style-guide/components/code-viewer.md): A code block with its file name, language, and a copy button. - [Command Palette](https://dev-guide.nusapalagroup.com/style-guide/components/command-palette.md): A searchable list of commands on the dialog layer, opened from anywhere in the product. - [Date Picker](https://dev-guide.nusapalagroup.com/style-guide/components/date-picker.md): A calendar in a popover for choosing a day, with a minimum and a maximum date. - [Dialog](https://dev-guide.nusapalagroup.com/style-guide/components/dialog.md): The overlay layer with a backdrop, focus trap, scroll lock, and Escape dismissal. - [Divider](https://dev-guide.nusapalagroup.com/style-guide/components/divider.md): A thin rule that separates groups of related content, with an optional label. - [Drawer](https://dev-guide.nusapalagroup.com/style-guide/components/drawer.md): A side panel on the dialog layer, for filters, details, and mobile navigation. - [Empty State](https://dev-guide.nusapalagroup.com/style-guide/components/empty-state.md): What to show when a list or page has nothing in it yet, with the next action. - [File/Image Upload](https://dev-guide.nusapalagroup.com/style-guide/components/file-upload.md): Drag-and-drop file selection with validation and queue management. - [Form Field](https://dev-guide.nusapalagroup.com/style-guide/components/form-field.md): The label, help text, and error message for controls that do not include them, such as a checkbox group. - [Image](https://dev-guide.nusapalagroup.com/style-guide/components/image.md): Used to display images. - [Input Field](https://dev-guide.nusapalagroup.com/style-guide/components/input-field.md): Text entry component with labels, error messages, and prefix, suffix, and addon slots. - [Logo](https://dev-guide.nusapalagroup.com/style-guide/components/logo.md): Official NBA brand artwork in Default, Dark, and Light styles. - [Menu](https://dev-guide.nusapalagroup.com/style-guide/components/menu.md): A list of actions in a popover, with icons, shortcuts, checks, and destructive items. - [Modal](https://dev-guide.nusapalagroup.com/style-guide/components/modal.md): Dialog panel for confirmations and information, with status icons, a title, a description, and actions. The overlay, focus trap, scroll lock, and keyboard dismissal are not included. - [Pagination](https://dev-guide.nusapalagroup.com/style-guide/components/pagination.md): Page-by-page content navigation with page-size selection. - [Popover](https://dev-guide.nusapalagroup.com/style-guide/components/popover.md): A panel anchored to a trigger, closed by outside click and Escape. - [Progress](https://dev-guide.nusapalagroup.com/style-guide/components/progress.md): A track that shows how much of a task is done, for known and unknown durations. - [QR Barcode](https://dev-guide.nusapalagroup.com/style-guide/components/qr-barcode.md): QR code display and generator with optional logo and label. - [Radio Button](https://dev-guide.nusapalagroup.com/style-guide/components/radio-button.md): Select one value from a group of mutually exclusive options. - [Segmented Control](https://dev-guide.nusapalagroup.com/style-guide/components/segmented-control.md): Two to four views of the same data, with every choice visible at once. - [Select](https://dev-guide.nusapalagroup.com/style-guide/components/select.md): One choice from a known list, with a keyboard-navigable listbox and form support. - [Sidebar](https://dev-guide.nusapalagroup.com/style-guide/components/sidebar.md): Example of a vertical navigation rail with collapsible groups, nested items, and an icon-only compact mode with flyout submenus. Its menu items are sample content and cannot be configured yet. - [Skeleton](https://dev-guide.nusapalagroup.com/style-guide/components/skeleton.md): Loading placeholders that keep the page from moving when the content arrives. - [Slider](https://dev-guide.nusapalagroup.com/style-guide/components/slider.md): A handle on a track for values that change smoothly, such as volume or opacity. - [Spinners](https://dev-guide.nusapalagroup.com/style-guide/components/spinners.md): Animated loading indicators for operations with unknown progress. - [Stepper](https://dev-guide.nusapalagroup.com/style-guide/components/stepper.md): A trail of steps for a flow, marking finished, current, and upcoming steps. - [Switch](https://dev-guide.nusapalagroup.com/style-guide/components/switch.md): Control that allows users to turn on or off item - [Table](https://dev-guide.nusapalagroup.com/style-guide/components/table.md): Rows of records with sorting, row selection, sticky headers, and an empty state. - [Tabs](https://dev-guide.nusapalagroup.com/style-guide/components/tabs.md): Switch between views of the same subject, with underline and pill styles. - [Textarea](https://dev-guide.nusapalagroup.com/style-guide/components/textarea.md): Multi-line text entry with a label, help text, error message, and character count. - [Timeline](https://dev-guide.nusapalagroup.com/style-guide/components/timeline.md): Events in order, with a marker tone and an optional time for each one. - [Toast](https://dev-guide.nusapalagroup.com/style-guide/components/toast.md): Status message with an icon and text, in default, success, error, warning, and information states. Stacking, auto-dismiss, and action links are not included. - [Tooltips](https://dev-guide.nusapalagroup.com/style-guide/components/tooltips.md): Contextual hint overlay triggered on hover or focus. Smart collision detection repositions the tip to stay in viewport. - [Tree View](https://dev-guide.nusapalagroup.com/style-guide/components/tree-view.md): Nested content with expandable branches, such as folders or a component index. - [Colors](https://dev-guide.nusapalagroup.com/style-guide/foundation/colors.md): Color palettes for primary, secondary, error, warning, gray, and neutral. - [Typography](https://dev-guide.nusapalagroup.com/style-guide/foundation/typography.md): Plus Jakarta Sans type scale. - [Spacing](https://dev-guide.nusapalagroup.com/style-guide/foundation/spacing.md): Spacing scale from 4px to 48px. - [Login Page Website](https://dev-guide.nusapalagroup.com/style-guide/template/login-page-website.md): A reusable authentication template for user sign-in. Includes essential form components. - [Login Page Mobile](https://dev-guide.nusapalagroup.com/style-guide/template/login-page-mobile.md): A mobile-first authentication template that enables users to securely sign in. Includes essential form elements, validation states, and primary authentication actions optimized for small screens. - [Dashboard](https://dev-guide.nusapalagroup.com/style-guide/template/dashboard.md): A standardized dashboard layout that organizes navigation, content, and data visualization into a clear and scalable interface. ## Engineering Practices - [Overview](https://dev-guide.nusapalagroup.com/engineering/overview.md): Daily engineering practices shared by every platform, from Git and code review to API design, security, and delivery. - [API Design](https://dev-guide.nusapalagroup.com/engineering/building/api-design.md): REST conventions for every HTTP API, from URLs, methods, and status codes to the response envelope, pagination, errors, and versioning. - [Env and Secrets](https://dev-guide.nusapalagroup.com/engineering/building/env-and-secrets.md): Environment variables, typed config per platform, .env files, and where secrets live on every platform. - [Security Baseline](https://dev-guide.nusapalagroup.com/engineering/building/security.md): The minimum security rules for every project, covering input, auth, tokens per platform, personal data, dependencies, and the OWASP checklist. - [Logging and Observability](https://dev-guide.nusapalagroup.com/engineering/building/observability.md): Structured logs, log levels, request IDs, metrics, traces, health checks, and what must never be logged. - [Testing](https://dev-guide.nusapalagroup.com/engineering/building/testing.md): What to test on each platform, coverage targets, test names, test data, and running tests in CI. - [CI/CD](https://dev-guide.nusapalagroup.com/engineering/shipping/ci-cd.md): Required pipeline checks per platform, build artifacts, the deployment flow, database migrations, and rollbacks. - [Production Readiness](https://dev-guide.nusapalagroup.com/engineering/shipping/production-readiness.md): The checklist every change and every service passes before production, shared by all platforms, with how each item is enforced. - [Git Workflow](https://dev-guide.nusapalagroup.com/engineering/workflow/git-workflow.md): Trunk-based branching, branch names, Conventional Commits, merging, and release tags. - [Pull Requests and Code Review](https://dev-guide.nusapalagroup.com/engineering/workflow/pull-requests.md): PR size, the PR template, review turnaround, comment labels, and the definition of done. - [Decision Records](https://dev-guide.nusapalagroup.com/engineering/workflow/decision-records.md): How a technical decision is proposed, discussed, recorded, and changed, with the ADR template. ## Environments - [Overview](https://dev-guide.nusapalagroup.com/environments/overview.md): The five environments every project runs in, what each one is for, and how a build moves from a laptop to production. - [Tech Stack](https://dev-guide.nusapalagroup.com/environments/tech-stack.md): The tools that create, configure, and run every environment, and how to use it. - [Environment Tiers](https://dev-guide.nusapalagroup.com/environments/tiers.md): What each environment is for, who deploys to it, its data, access, integrations, uptime, logging, and reset rules. - [Naming and URLs](https://dev-guide.nusapalagroup.com/environments/naming-and-urls.md): Domains, service URLs, database and bucket names, mobile app IDs, and env files for each environment. - [Local Development](https://dev-guide.nusapalagroup.com/environments/local-development.md): Running a project on your machine with Docker Compose, env files, seed data, and one command, for every platform. - [Data and Access](https://dev-guide.nusapalagroup.com/environments/data-and-access.md): Which data is allowed in each environment, how test data is created and masked, test accounts, and who can reach each environment. - [Promotion and UAT](https://dev-guide.nusapalagroup.com/environments/promotion.md): How one commit moves from dev to staging, UAT, and production, how UAT is planned and signed off, and how hotfixes skip the queue. - [Production Checklist](https://dev-guide.nusapalagroup.com/environments/production-checklist.md): What must be true before a new service, web app, or mobile app gets its production environment, and how each item is enforced. ## Web Frontend - [Overview](https://dev-guide.nusapalagroup.com/frontend/overview.md): Web frontend standards, from the React project structure to data, pages and UI, tooling, and production. - [Tech Stack](https://dev-guide.nusapalagroup.com/frontend/tech-stack.md): The languages, frameworks, and libraries every web frontend project uses, and the page that shows how to use it. - [HTTP Client](https://dev-guide.nusapalagroup.com/frontend/data/http-client.md): The native fetch wrapper every React project uses, with the base URL, auth, timeouts, the response envelope, typed errors, token refresh, uploads, and cancellation. - [TanStack Query](https://dev-guide.nusapalagroup.com/frontend/data/tanstack-query.md): The query client defaults, query keys, query options, list and detail hooks, mutations with invalidation, pagination, and the loading, error, and empty states. - [Zod](https://dev-guide.nusapalagroup.com/frontend/data/zod.md): Where schemas live, writing schemas and shared building blocks, validating API responses, error messages, and testing schemas. - [Routing](https://dev-guide.nusapalagroup.com/frontend/pages-and-ui/routing.md): React Router setup, route paths, lazy-loaded pages, protected and permission routes, error and not found pages, and keeping filters in the URL. - [Forms](https://dev-guide.nusapalagroup.com/frontend/pages-and-ui/forms.md): React Hook Form with Zod, the form field pattern, controlled inputs, field arrays, edit forms, submit states, and server errors. - [Client State](https://dev-guide.nusapalagroup.com/frontend/pages-and-ui/state.md): Where each kind of state lives, when to use useState, context, or Zustand, the auth provider, and what never goes into global state. - [Styling](https://dev-guide.nusapalagroup.com/frontend/pages-and-ui/styling.md): Tailwind CSS with the design tokens as the theme, class rules, the cn helper, component variants, responsive layout, dark mode, and accessibility basics. - [Error Monitoring](https://dev-guide.nusapalagroup.com/frontend/production/error-monitoring.md): Error boundaries, Sentry setup, what to report and what to filter, source maps, user context without personal data, and web performance. - [Production Checklist](https://dev-guide.nusapalagroup.com/frontend/production/production-checklist.md): The checks a React web app passes before every production release, and how each one is enforced. - [Folder Structure](https://dev-guide.nusapalagroup.com/frontend/project-structure/folder-structure.md): The page-based folder layout of every React project, and the direction imports may go. - [Layer Responsibilities](https://dev-guide.nusapalagroup.com/frontend/project-structure/layers.md): What each folder of a React project owns, the rules for each one, and when code moves to a shared folder. - [Naming Conventions](https://dev-guide.nusapalagroup.com/frontend/project-structure/naming.md): File, folder, and export names in a React project. - [End-to-End Example](https://dev-guide.nusapalagroup.com/frontend/project-structure/example.md): The login flow from page to form, schema, query hook, API call, and token, with every file in its folder. - [Build Setup](https://dev-guide.nusapalagroup.com/frontend/tooling/build-setup.md): The project scripts, Bun, the Vite config, TypeScript settings, environment variables, and dependency updates. - [Lint and Format](https://dev-guide.nusapalagroup.com/frontend/tooling/lint-and-format.md): The ESLint rules that CI enforces, the Prettier config with Tailwind and import sorting, and the VS Code settings. - [Testing](https://dev-guide.nusapalagroup.com/frontend/tooling/testing.md): Vitest and Testing Library setup, MSW for the API, testing schemas, hooks, components, and query hooks, and Playwright for the main flows. ## Web Backend - [Overview](https://dev-guide.nusapalagroup.com/backend/overview.md): Backend standards for the API Gateway, Auth Services, and every Go service. - [Tech Stack](https://dev-guide.nusapalagroup.com/backend/tech-stack.md): The languages, frameworks, and libraries every backend service uses, and the page that shows how to use it. - [Production Checklist](https://dev-guide.nusapalagroup.com/backend/production-checklist.md): The checks every Go service passes before a production release, and how each one is enforced. - [Overview](https://dev-guide.nusapalagroup.com/backend/api-gateway/overview.md): What the API Gateway is, what it does and does not do, and the rules it follows. - [Structure and Layers](https://dev-guide.nusapalagroup.com/backend/api-gateway/structure-and-layers.md): The folder layout of the API Gateway on the Clean Architecture template, what each layer owns, and the contracts it must define. - [Contracts](https://dev-guide.nusapalagroup.com/backend/api-gateway/contracts.md): The request contract, relative time, identity and trace context the gateway forwards, and the error envelope it returns. - [Integration and Flows](https://dev-guide.nusapalagroup.com/backend/api-gateway/integration-and-flows.md): The auth patterns, the trust boundary between the gateway and services, how each kind of service is reached, and the main runtime flows. - [Overview](https://dev-guide.nusapalagroup.com/backend/auth-services/overview.md): What Auth Services is, the user and service auth models it supports, and the rules every service follows. - [Structure and Layers](https://dev-guide.nusapalagroup.com/backend/auth-services/structure-and-layers.md): The folder layout of Auth Services on the Clean Architecture template, what each layer owns, and the adapter every other service uses. - [Contracts](https://dev-guide.nusapalagroup.com/backend/auth-services/contracts.md): The user and service identity context Auth Services produces, the contracts every consumer defines, and where auth ends and business policy starts. - [Integration and Flows](https://dev-guide.nusapalagroup.com/backend/auth-services/integration-and-flows.md): The capabilities and use cases of Auth Services, how the gateway, services, and the AI service use it, and the main runtime flows. - [Overview](https://dev-guide.nusapalagroup.com/backend/clean-architecture/overview.md): The Go service baseline, its folder template, database folders, and dependency direction. - [Layer Responsibilities](https://dev-guide.nusapalagroup.com/backend/clean-architecture/layers.md): What each of the five layers owns and what belongs in it. - [Implementation Conventions](https://dev-guide.nusapalagroup.com/backend/clean-architecture/conventions.md): Naming, status code mapping, repository and test rules, and migration safety. - [Linter Rules](https://dev-guide.nusapalagroup.com/backend/clean-architecture/linter.md): The golangci-lint setup that guards layer boundaries and code consistency. - [End-to-End Walkthrough](https://dev-guide.nusapalagroup.com/backend/clean-architecture/walkthrough.md): A full feature walkthrough from handler to use case to repository, plus file naming and wiring. - [Database Conventions](https://dev-guide.nusapalagroup.com/backend/data/database.md): PostgreSQL naming, keys, standard columns, multi-tenancy, indexes, transactions, migration files, and query rules for every service. - [sqlc](https://dev-guide.nusapalagroup.com/backend/data/sqlc.md): Generating type-safe Go from SQL with sqlc, where the generated code lives, and how it fits the repository layer next to sqlx. - [Redis and Caching](https://dev-guide.nusapalagroup.com/backend/data/redis.md): What Redis is used for, the client setup, key naming, TTLs, the cache-aside pattern, invalidation, rate limits, and what never goes into Redis. - [HTTP Server](https://dev-guide.nusapalagroup.com/backend/transport/http-server.md): Running a Go service on net/http, with main.go, server timeouts, graceful shutdown, the middleware chain, request IDs, recovery, JSON helpers, health checks, and the container image. - [gRPC](https://dev-guide.nusapalagroup.com/backend/transport/grpc.md): When to use gRPC, proto file layout and style, code generation with Buf, implementing a service in the presentation layer, metadata, deadlines, and error codes. ## Fullstack - [Overview](https://dev-guide.nusapalagroup.com/fullstack/overview.md): Fullstack TypeScript standards for services that must be built fast without microservices, with Next.js on Bun, Bun with Turborepo and React, Drizzle, and Astro for static content. - [Tech Stack](https://dev-guide.nusapalagroup.com/fullstack/tech-stack.md): The runtime, frameworks, and libraries for fullstack TypeScript projects, per option, and the page that shows how to use it. - [Next.js on Bun](https://dev-guide.nusapalagroup.com/fullstack/nextjs.md): Next.js App Router on the Bun runtime, with the project structure, Server Components, Server Actions, route handlers, auth, caching, environment variables, and deployment. - [Bun + Turborepo + React](https://dev-guide.nusapalagroup.com/fullstack/bun-turborepo.md): A Bun workspace monorepo with Turborepo, a Bun.serve API, a React app, shared Drizzle and Zod packages, config, pipelines, and deployment. - [Astro](https://dev-guide.nusapalagroup.com/fullstack/astro.md): Astro for static content websites, with when to use it, the project structure, content collections, React islands, styling with the design tokens, SEO, images, forms, and deployment. - [Drizzle](https://dev-guide.nusapalagroup.com/fullstack/drizzle.md): Drizzle ORM for every fullstack project, with schema files, the client, migrations with drizzle-kit, queries, pagination, transactions, multi-tenancy, and error mapping. - [Production Checklist](https://dev-guide.nusapalagroup.com/fullstack/production-checklist.md): The checks every fullstack release passes, shared and per option, and how each one is enforced. ## Mobile - [Overview](https://dev-guide.nusapalagroup.com/mobile/overview.md): Flutter app standards, from the project structure to state, network, navigation, theme, Firebase, and release. - [Tech Stack](https://dev-guide.nusapalagroup.com/mobile/tech-stack.md): The frameworks and packages every Flutter app uses, and the page that shows how to use it. - [State Management and Pagination](https://dev-guide.nusapalagroup.com/mobile/building-blocks/state-management.md): Cubit, status types, state and cubit templates, and the pagination pattern. - [Network and Error Handling](https://dev-guide.nusapalagroup.com/mobile/building-blocks/network-and-errors.md): The API client, safe calls, interceptors, and the exception to failure chain. - [Config, Dependency Injection, and Navigation](https://dev-guide.nusapalagroup.com/mobile/building-blocks/config-di-navigation.md): Environment configuration, services, GetIt/injectable setup, and GoRouter conventions. - [Theme, Assets, and Generated Files](https://dev-guide.nusapalagroup.com/mobile/building-blocks/theme-and-assets.md): Color, text, and spacing tokens, asset registration, and generated file locations. - [Firebase](https://dev-guide.nusapalagroup.com/mobile/building-blocks/firebase.md): Firebase in every Flutter app, with one project per environment, push notifications with FCM, Crashlytics, Remote Config for flags and forced updates, and where each one lives in the code. - [Tooling and Testing](https://dev-guide.nusapalagroup.com/mobile/building-blocks/tooling-and-testing.md): Lints, build settings, Make targets, and the test strategy with fakes and cubit tests. - [Release](https://dev-guide.nusapalagroup.com/mobile/production/release.md): Pinning Flutter with FVM, flavors and app IDs per environment, versioning, signing, build commands, store tracks, staged rollout, and forced updates. - [Production Checklist](https://dev-guide.nusapalagroup.com/mobile/production/production-checklist.md): The checks every Flutter app release passes before it reaches the stores, and how each one is enforced. - [Folder Structure](https://dev-guide.nusapalagroup.com/mobile/project-structure/folder-structure.md): The Flutter project structure, where generated files live, and the dependency direction. - [Layer Responsibilities](https://dev-guide.nusapalagroup.com/mobile/project-structure/layers.md): What core, data, domain, and presentation own, when to extract shared code, and how dates, numbers, and money are formatted. - [Conventions and Anti-Patterns](https://dev-guide.nusapalagroup.com/mobile/project-structure/conventions.md): File naming, the questions to ask the developer before deciding, and the anti-patterns to avoid. - [End-to-End Example](https://dev-guide.nusapalagroup.com/mobile/project-structure/example.md): The attendance detail feature through every layer, from the screen to the API and back, and how it is tested. ## Contribute - [How to Contribute](https://dev-guide.nusapalagroup.com/contribute/how-to-contribute.md): How to run Dev Guide, write content, and add pages or sections. - [Contributors](https://dev-guide.nusapalagroup.com/contribute/contributors.md): The people who write and maintain Dev Guide, and how to add yourself to the list.