Unique Bedtime Chronicles App using Flutter
Unique Bedtime Chronicles
Introducing Unique Bedtime Chronicles the groundbreaking mobile application poised to transform the way you connect with your child during those treasured bedtime moments. Our cutting-edge app redefines the art of bedtime storytelling by empowering you to craft enchanting bedtime tales meticulously tailored to your child’s distinct interests and preferences. With Unique Bedtime Chronicles you’ll forge a profound, lasting bond with your child while kindling their imagination like never before.
Feature graphic
Screenshots
Table of Contents
Features
- Craft bespoke and personalized bedtime stories for your child.
- Elevate your child to the role of the central character in their unique adventure.
- Seamlessly introduce characters your child holds dear.
- Safeguard your child’s treasured stories for future enjoyment.
Project Structure
.
├── app_icon
│ ├── app-icon.yaml
│ └── app_icon.png
├── assets
│ ├── font
│ ├── img
│ └── json
├── bricks
│ └── feature_template
├── bricks_configs
│ └── feature.json
├── lib
│ ├── core
│ │ ├── src
│ │ │ ├── base
│ │ │ │ ├── base.dart
│ │ │ │ ├── base_event.dart
│ │ │ │ ├── base_page_state.dart
│ │ │ │ ├── base_state.dart
│ │ │ │ ├── base_vm.dart
│ │ │ │ ├── base_vm_mixin.dart
│ │ │ │ ├── wrap_state.dart
│ │ │ │ └── wrap_state.freezed.dart
│ │ │ ├── common
│ │ │ │ ├── common.dart
│ │ │ │ ├── common_event.dart
│ │ │ │ ├── common_event.freezed.dart
│ │ │ │ ├── common_state.dart
│ │ │ │ ├── common_state.freezed.dart
│ │ │ │ └── common_vm.dart
│ │ │ ├── config
│ │ │ │ ├── app_config.dart
│ │ │ │ ├── config.dart
│ │ │ │ ├── env.dart
│ │ │ │ └── env.g.dart
│ │ │ ├── constants
│ │ │ │ ├── constants.dart
│ │ │ │ ├── date_time_format_constants.dart
│ │ │ │ ├── device_constants.dart
│ │ │ │ ├── locale_constants.dart
│ │ │ │ ├── log_constants.dart
│ │ │ │ └── ui_constants.dart
│ │ │ ├── dimen
│ │ │ │ ├── app_dimen.dart
│ │ │ │ ├── dimen.dart
│ │ │ │ └── dimens.dart
│ │ │ ├── errors
│ │ │ │ ├── app_error.dart
│ │ │ │ ├── app_error_listener.dart
│ │ │ │ ├── app_error_listener_mixin.dart
│ │ │ │ ├── app_error_mapper.dart
│ │ │ │ ├── app_exception_wrapper.dart
│ │ │ │ ├── app_handle_exception.dart
│ │ │ │ ├── errors.dart
│ │ │ │ └── exceptions.dart
│ │ │ ├── extension
│ │ │ │ ├── extension.dart
│ │ │ │ └── string_extension.dart
│ │ │ ├── hive
│ │ │ │ ├── hive.dart
│ │ │ │ ├── hive_database_manager.dart
│ │ │ │ ├── hive_encryption.dart
│ │ │ │ ├── hive_model.dart
│ │ │ │ ├── hive_model_mixin.dart
│ │ │ │ ├── hive_operation.dart
│ │ │ │ ├── hive_types.dart
│ │ │ │ ├── primitive_database.dart
│ │ │ │ ├── primitive_keys.dart
│ │ │ │ └── secure_database_manager.dart
│ │ │ ├── mixins
│ │ │ │ ├── log_mixin.dart
│ │ │ │ └── mixins.dart
│ │ │ ├── model
│ │ │ │ ├── model.dart
│ │ │ ├── navigation
│ │ │ │ ├── app_navigator.dart
│ │ │ │ ├── app_routes.dart
│ │ │ │ ├── app_routes.gr.dart
│ │ │ │ └── navigation.dart
│ │ │ ├── network
│ │ │ │ ├── base
│ │ │ │ │ ├── base.dart
│ │ │ │ │ ├── dio_builder.dart
│ │ │ │ │ └── network_constants.dart
│ │ │ │ ├── middleware
│ │ │ │ │ ├── access_token_interceptor.dart
│ │ │ │ │ ├── base_interceptor.dart
│ │ │ │ │ ├── custom_log_interceptor.dart
│ │ │ │ │ ├── header_interceptor.dart
│ │ │ │ │ ├── middleware.dart
│ │ │ │ │ ├── network_info.dart
│ │ │ │ │ ├── refresh_token_api_service.dart
│ │ │ │ │ └── refresh_token_interceptor.dart
│ │ │ │ ├── network.dart
│ │ │ │ ├── rest_client.dart
│ │ │ │ ├── rest_client.g.dart
│ │ │ │ ├── rest_non_auth_client.dart
│ │ │ │ └── rest_non_auth_client.g.dart
│ │ │ ├── observer
│ │ │ │ └── observer.dart
│ │ │ ├── preference
│ │ │ │ ├── preference.dart
│ │ │ ├── stream
│ │ │ │ └── stream.dart
│ │ │ ├── theme
│ │ │ │ └── theme.dart
│ │ │ ├── usecases
│ │ │ │ └── usecases.dart
│ │ │ ├── utils
│ │ │ │ ├── utils.dart
│ │ │ └── widgets
│ │ │ └── widgets.dart
│ │ └── core.dart
│ ├── data
│ │ ├── src
│ │ │ ├── data_sources
│ │ │ │ ├── data_sources.dart
│ │ │ ├── mapper
│ │ │ │ ├── mapper.dart
│ │ │ ├── models
│ │ │ │ ├── models.dart
│ │ │ └── repositories
│ │ │ └── repositories.dart
│ │ └── data.dart
│ ├── di
│ │ ├── di.config.dart
│ │ └── di.dart
│ ├── domain
│ │ ├── src
│ │ │ ├── entities
│ │ │ │ ├── entities.dart
│ │ │ ├── repositories
│ │ │ │ └── repositories.dart
│ │ │ └── usecases
│ │ │ └── usecases.dart
│ │ └── domain.dart
│ ├── presentation
│ │ ├── src
│ │ │ ├── define_story
│ │ │ │ ├── define_story.dart
│ │ │ │ ├── define_story_event.dart
│ │ │ │ ├── define_story_page.dart
│ │ │ │ ├── define_story_state.dart
│ │ │ │ └── define_story_vm.dart
│ │ │ └── app.dart
│ │ └── presentation.dart
│ ├── resources
│ │ ├── generated
│ │ │ ├── intl
│ │ │ │ ├── messages_all.dart
│ │ │ │ ├── messages_en.dart
│ │ │ │ └── messages_vi.dart
│ │ │ └── l10n.dart
│ │ ├── src
│ │ │ ├── generated
│ │ │ │ ├── intl
│ │ │ │ │ ├── messages_all.dart
│ │ │ │ │ ├── messages_en.dart
│ │ │ │ │ └── messages_vi.dart
│ │ │ │ └── l10n.dart
│ │ │ └── l10n
│ │ │ ├── intl_en.arb
│ │ │ └── intl_vi.arb
│ │ └── resources.dart
│ └── main.dart
├── splash
│ ├── ic_splash.png
│ └── splash.yaml
├── test
│ └── widget_test.dart
├── Makefile
├── analysis_options.yaml
├── mason-lock.json
├── mason.yaml
└── pubspec.yaml
Libraries Used
- retrofit: A type-safe HTTP client for Dart using the Retrofit package.
- freezed: A code generator for unions/pattern-matching/copy.
- dartz: Functional programming in Dart.
- lottie: A library for using Lottie animations in Flutter.
- hooks_riverpod: A simple way to manage state in your Flutter applications.
- mockito: Mock library for Dart.
- hive: Hive is a lightweight and blazing fast key-value database written in pure Dart.
- get_it: This is a simple Service Locator for Dart and Flutter projects with some additional goodies highly inspired by Splat
- share_plus: A Flutter plugin to share content from your Flutter app via the platform’s share dialog.
- flutter_tts: A flutter text to speech plugin (Swift,Kotlin)
- …
Installation
1 Getting Started:
Make sure you have Flutter and Dart installed on your machine. You can install them by following the instructions in the official Flutter documentation.
2 Clone this repository:
git clone https://github.com/olololoe110399/bedtime_stories.git
3 Navigate to the project directory:
cd bedtime_stories
4 Install dependencies:
make sync
Usage
Run the app on a simulator or device:
flutter run
The app should start and you can explore the Valorant agents.
Tests
The project includes unit tests, integration tests, and widget tests to ensure code quality and functionality. To run tests, use the following commands:
- Run tests
flutter test
Contributing
Contributions are welcome! If you find any bugs or want to add new features, feel free to open an issue or submit a pull request. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as needed.
License
This project is licensed under the MIT License.