forked from GabrielFleischer/Android-Sample
-
Notifications
You must be signed in to change notification settings - Fork 2
Guillaume lepin feature/add main page #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
GuillaumeLepin
wants to merge
270
commits into
swent-epfl:main
Choose a base branch
from
SkillBridgeee:GuillaumeLepin-feature/add-MainPage
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Guillaume lepin feature/add main page #5
GuillaumeLepin
wants to merge
270
commits into
swent-epfl:main
from
SkillBridgeee:GuillaumeLepin-feature/add-MainPage
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
…//github.com/SkillBridgeee/SkillBridgeee into bjlpedersen-feature/add-navigation-framework
…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
…//github.com/SkillBridgeee/SkillBridgeee into bjlpedersen-feature/add-navigation-framework
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.
…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
…eadMe Fix readMe typo
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.