Skip to content

Conversation

@GuillaumeLepin
Copy link

This PR adds the full implementation of the Main Page (HomeScreen) for the SkillBridge app.
It includes all main UI sections, styling, and interactions built with Jetpack Compose, as well as a complete test suite ensuring component visibility and behavior.
Main updates:
Implemented HomeScreen with Scaffold, background color, and floating action button (FAB).
Added GreetingSection, ExploreSkills, and TutorsSection composables.
Created reusable SkillCard and TutorCard components.
Made tutor list scrollable using verticalScroll(rememberScrollState()).
Added testTag identifiers for all main UI elements to improve automated testing.
Wrote multiple Compose UI tests covering layout rendering, button clicks, scroll behavior, and text visibility.
Results:
Achieved around 85% code coverage on HomeScreen.kt and related composables.
Verified proper UI structure, recomposition, and user interaction across all key elements.
Next steps:
Connect tutor and skill data to backend services.
Add navigation for the “Book” and “Add” buttons.
Integrate dynamic content for user personalization.

bjlpedersen and others added 30 commits October 5, 2025 16:14
Add a bottom navigation bar and a top app bar to the main application
structure. Create placeholder screens for the home, search, profile and settings sections to allow for testing the navigation flow between them.

This setup provides the foundational UI structure for future feature
development.
…on-framework' into bjlpedersen-feature/add-navigation-framework
Delete generated test files that were failing due to referencing
removed composable components. The tests were checking for UI elements
from the original project template that are no longer present in the
application after implementing the custom navigation framework.

This eliminates false CI failures and removes outdated test
dependencies on template code that has been replaced.
…//github.com/SkillBridgeee/SkillBridgeee into bjlpedersen-feature/add-navigation-framework to ammend last commit (forgot to format code)
…9%) including tests for individual components, MainActivity and the navigationGraph
Implementation of profile parameter and error messageViewModel
Added a custom button with app colors in components, and implemented it in MyProfileScreen
Add MyProfileTest and AppTest in androidTest
Update AppButton and MyProfileScreen to support testTags for testing
../LoginScreen.kt: Add the login screen with authentication
		logic to make the future of developpement
		easier. Use style elements to make great
		design
…he future

Create the data files for the necessary data types that we will need. These files will probably be edited in the future and new ones will be added.
Create the tests for the data types so that we have coverage on them.
Add the unversioned files so that the emulators can run properly when we are going to test them.
Edited the test for faulty logic and also added some lines to force the project to use the right version of jacoco so that it is compatible with java version 21.
add the unversioned firebase files for firebase to function.
nahuelArthur and others added 30 commits October 14, 2025 11:12
…rofil-Page

Zay1939 feature/add tutor profile screen
…ill_ui

Nahuel arthur feature/add skill UI
- Modify MainPage.kt and MainPageViewModel.kt to integrate listings data with tutor display
- Adjust Listing.kt and Profile.kt models for better compatibility with the updated ViewModel
- Update build.gradle.kts to align SDK and dependencies
- Refactor MainPageTests.kt and ListingTest.kt to match new data structure and UI logic
- Added local repositories to manage skills and tutors data
- Migrated data loading and management logic from MainPageViewModel to repository layer
- Improved code organization and separation of concerns for easier maintenance and future backend integration
…y-bookings-page

Sanem sarioglu feature/add my bookings page
…R review

- Optimized MainPageViewModel for cleaner state handling and better data flow
- Refactored MainPage composables to align with updated view model logic
- Reviewed and fixed issues highlighted during the pull request review
- Ensured smoother UI behavior and improved code readability
- Resolved minor conflicts and aligned code with latest updates from main
- Adjusted imports, references, and logic for compatibility
- Verified that all features compile and run correctly after merge
…agement

- Implement load() to fetch skills and listings safely using
  buildTutorCardSafely with try/catch
- Move formatting and rating computations into private helper
  functions (formatPricePerHour, computeAvgStars, ratingCountFor)
- Introduce HomeUiState emitted via StateFlow containing prepared
  TutorCardUi data
- Ensure TutorCardUi includes formatted price labels and clamped
  rating stars (0..5)
- Formatted all Kotlin files using ktfmt for consistent code style
- Ensured uniform indentation, spacing, and line wrapping
- Documented all composables in MainPage.kt including HomeScreen, SkillCard, and TutorCard
- Added detailed KDoc for MainPageViewModel, HomeUiState, and TutorCardUi
- Improved code readability and maintainability with consistent style and clear descriptions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants