The journey of building this app was amazing and I learned a lot.
Explore the docs »
View Demo · Report Bug · Request Feature
Use of Bloc architecture is demonstrated and consist of two screens: - Panchang Screen : that is home page by default takes today's date or can be altered, Supports a suggestion box for location autocomplete made using custom overlay. Results in Panchang and displays beautifully
- Talk to Astrologer Screen: Fetches Astrologers on the app start. Functionalities:
-
- Search : User Can Search an astrologer from name, skills, language
-
- Filter : Here I have assumed only static filters as no documentation or end point was provided for the languages or skills so I have assumed English,Hindi as Languages and Falit Jyotish,Astrology as skills
-
- Sort : Sort Functionality is implement based on price and experience from high to low or low to high
-
I spent most of the time figuring about type_ahead package as it dealt with only futures no way possible to display the search results as blocs returned stream which only got updated when it got data so autocomplete was having a lag (Solved using a custom overlay and building using streams(nice Idea for a package))
-
Bloc is bit lengthy but its super assuring as although there are lots of boilerplate stuff its just states and events that would only happen no unpredictable things
-
Failed to manage time but I will make this as a task and improve my code as well
-
It was at first difficult to transfer from getx to bloc as my whole code needed an architecture and thinking I also spent a lot of time to how I can mitigate the custom error with response from base layer to bloc and display on the ui
To get a local copy up and running follow these simple steps.
- UI can be improved, as I only focused on functionality
- App Size can be reduced by use of SVGs
- Catched Network Image Can be used for Astrologer Images
- Pull to refresh for Astrologer fetching
- Documentation can be improved
- Profile of astrologer can be shared using share_plus
- Deeplinking can be done to go to astrologer profile directly that is a astrologers can then generate qr codes for this
- Many Corner Cases are pending and can be handled easily as we now know all the states
- Tests are to be written
- Internet states can also be handled
- local caching can be done for search when there is no internet
- push notifications, feedbacks and updates features can be introduced
-
Clone the repo
git clone https://github.com/krish-bhanushali/Astrotak_Bloc.git
-
cd to the folder
-
sh code .
-
sh flutter pub get
-
Fix Imports
-
sh flutter run
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
If you become a Collaborator Please Refer Collaborator
for more information
Distributed under the MIT License. See LICENSE
for more information.
I solve doubts at Stack overflow - Ping Me whenever you need Your Name - @twitter_handle - [email protected]
Project Link: https://github.com/krish-bhanushali/Astrotak_Bloc