FHome was conceived as a platform for home baking, with the ability to post your products and buy someone else's, as well as to connect baking vendors. It is essentially the equivalent of a mobile e-commerce app. It is still in development.
- Full English version - https://github.com/MorgueMorg/Flutter-FHome-Inai/tree/fhome/eng (second branch)
- Full Russian version - https://github.com/MorgueMorg/Flutter-FHome-Inai/tree/fhome/rus (third branch)
- Uses bloc as state management (to be exact, cubit)
- Uses dio/http for work with network (Originally I was going to use only dio, but in one of the api from the backend I get form-data, which dio doesn't support, so I had to use http as well)
- Uses get_it for dependency injection
- Uses equatable for value/states equality
- Usersflutter_svg for work with svg
The application is written in dart(flutter), the backend is written in java(spring), using the rest api. In the future I plan to add interaction with firebase, a local database hive/sqlite and improve navigation (possibly add go_router). At the moment, the app has a pretty clear UX/UI design and imitation of some features that are not on the backend (search, shopping cart, etc.). It is possible to register, authorize and confirm the password by mail. Different api from the backend are used for products, categories and parts. Postgres is used as the database on the backend. There is swagger documentation which was used to interact with rest api - https://fhome.onrender.com/swagger-ui/index.html#/. I tried to do maximum validation and error handling, but there's still a lot to do. The application is kind of like an MVVM pattern, where bloc plays the role of ViewModel.
First, you have to "wake up" the backend and the swagger documentation. Meaning you just have to open the swagger documentation and the backend will come up on its own in 2-4 minutes, after which the application will be fully operational. This is due to the fact that the backend is deployed on free hosting.
-
Clone the repo
git@github.com:MorgueMorg/Flutter-FHome-Inai.git
or
https://github.com/MorgueMorg/Flutter-FHome-Inai.git
-
Install all the packages by typing
flutter pub get
-
Run the App
flutter run
-
If you don't want to register, you can use a test account to log in:
email: atai.tofik@gmail.com
password: dastantimakirill
- Splash
- Login
- Registration
- Mail Confirmation
- Home
- Routing
- Dio / http
- Provider
- Validation
- User Notifications
- Mail Confirmation
- Work with Rest Api
I will be happy to answer any questions that you may have on this application. I haven't yet seen a flutter-themed baking app that interacts with the api, so hopefully this will help someone.