https://github.com/anon-000/ayna-task
Flutter Web Assignment [ Bloc + Hive + Web Socket ]
https://github.com/anon-000/ayna-task
assignment dart flutter web
Last synced: 3 months ago
JSON representation
Flutter Web Assignment [ Bloc + Hive + Web Socket ]
- Host: GitHub
- URL: https://github.com/anon-000/ayna-task
- Owner: anon-000
- Created: 2024-06-24T22:20:40.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-06-26T17:55:43.000Z (12 months ago)
- Last Synced: 2025-02-08T01:17:25.381Z (4 months ago)
- Topics: assignment, dart, flutter, web
- Language: Dart
- Homepage: https://ayna-assignment-auro.web.app/
- Size: 19.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ayna_task ( Flutter Web Assignment )
Gateway to Ayna AI
## More Details
This a Flutter Web Application I have developed recently to deal with web sockets & local noSQL DBs like Hive.
- [ Application Link ( deployed on Firebase )](https://ayna-assignment-auro.web.app/)
- [ Backup Link ( Github Pages )](https://auro-dev.github.io/)## Key Points
- The application uses Bloc for managing states and separates business logic from the Presentation layer.
- It uses a local db Hive to perform mock user authentication ( works like indexed DB local to the browser ) & also to store the chats locally/cache type of system. With a simple yet good data model, created 2 collections ( Users & Chats ). Passwords stored are hashed using bcrypt salt. For mongo DB like obj id creation I have used a package bson to generate unique Ids.
- For Routing I have used go_router package ( although I'm a fan of GetX ), but was trying the flutter web first time, so just went with the recommended router package.
- For small minor animations, I've used lottie ( preloaded assets for optimization ).
- Used SharedPreference for storing user session and managing LoggedIn and LoggedOut states.Login with email & password :
Chat With Web Socket Echo Server:
Responsiveness :
For help getting started with Flutter development, view the
[online documentation](https://docs.flutter.dev/), which offers tutorials,
samples, guidance on mobile development, and a full API reference.