Sommelier is a dish review app that provides users with the following functionalities:
- User Account Management: Users can create accounts and manage their profiles within the app.
- Restaurant and Dish Addition: Users have the ability to add restaurants and their corresponding dishes to the app's database.
- Dish Reviews: Users can review and rate dishes from the restaurants listed in the app.
The application is developed natively for Android using the Kotlin programming language. It leverages Firebase as the backend-as-a-service (BAAS) to handle data storage and other backend functionalities, making it a seamless experience for users.
Overall, Sommelier aims to be a user-friendly platform where individuals can store their experiences with various dishes from different restaurants.
- Kotlin
- Ktlint
- Koin
- Coroutines
- Jetpack Compose
- Jetpack Navigation
- MockK
- JUnit
- Coil
- Jacoco
- Sonarqube
- ViewModel
- LiveData
- Arrow
Check out the design in Figma:
The project is still in progress, you can find below the percentages completed for each section of issues:
-
User CRUD and authentication:
100%
-
Restaurant CRUD:
0%
-
Dish CRUD:
0%
-
Review CRUD:
0%
To run the Sommelier app, you need to use Android Studio. You can clone this repository or import the project from Android Studio following the steps here.
# Clone this repo
$ git clone https://github.com/ronaldocoding/sommelier
# Access project folder in terminal/cmd
$ cd sommelier
# Build the gradle wrapper
$ gradle wrapper --gradle-version <insert version>
# Give root acess to the gradle wrapper (gradlew)
$ chmod +x ./gradlew
# Build the app
$ ./gradlew build
# Start the emulator on which you will run the app
$ emulator -avd avd_name
# Run the app in the started emulator
$ adb install app/build/outputs/apk/debug/app-debug.apk
To use the Android Emulator, you must create an Android Virtual Device (AVD) using Android Studio.
There are 4 ways to contribute to this project:
- Solving an issue
- Improving documentation
- Opening an issue
- Fixing a bug not mapped yet
Rules to follow while contributing:
- Adhere to the Pull Request Template when opening pull requests.
- Add unit tests when necessary to ensure code quality and reliability.
- Follow the Clean Android Architecture and MVVM design pattern during the development of your Pull Request.
- Fork the repository.
- Clone your forked repository to your local machine.
- Make your edits or create new programs following the project's guidelines and requirements.
- Save your changes and make a commit with a descriptive message:
git commit -m "[feature] My new feature"
. - Push your changes to your remote repository using a branch:
git push origin feature/my-feature
. - Submit your changes by creating a Pull Request, which will be reviewed and approved by the project maintainers.
In case you have questions check this guide about how to contribute to GitHub.
This project is under the MIT License.
Here are our project contributors:
Ronaldo Costa π¨βππ |
Ronaldo Costa
Made by Ronaldo Costa ππ
Contact me: