Skip to content
Pedro Monteiro edited this page Nov 27, 2025 · 3 revisions

Welcome to the uni wiki!

Welcome to the contributor wiki for uni, a cross-platform mobile application created by NIAEFEUP to help students at the University of Porto discover and manage academic information in one place.

To contribute, you can start by reading these pages (if a link is red, it means the page hasn't been created yet):

Getting Started

Contribution Workflow

  • Branching & Commits: Our branching strategy (Conventional Branching) and commit message format (Conventional Commits).
  • Code Formatting & Linting: How to use dart format and our pre-commit hook to keep the code clean.
  • Code Generation: When and how to run build_runner for generated files (e.g., ObjectBox, Riverpod).

Project Architecture

  • Architecture Overview: A high-level look at the project's structure, including the uni_app, uni_ui, and uni_lint packages.
  • State Management: How we use Riverpod for state management.
  • Authentication Flow: A deep dive into how we handle university authentication.
  • Data Fetching: Explaining the role of the fetcher classes and where our data comes from.
  • Local Storage (Database): How we use ObjectBox (objectbox.g.dart, app_database.dart) to store data for offline use.

CI/CD

  • Continuous Integration: An explanation of our GitHub Actions workflow for formatting, linting, and testing (format_lint_test.yaml).
  • Deployment: How our deploy.yaml workflow builds and deploys the app.

Clone this wiki locally