Master English Vocabulary & Grammar with Ease!
Our app goes beyond vocabulary! Now, in addition to learning 6,000+ of the most common words from the Oxford Dictionary, you can also improve your grammar with our new Grammar Handbook—your complete guide to mastering English rules and structures.
Key Features: 📖 Grammar Handbook – Learn essential grammar rules with clear explanations and examples to enhance your writing and speaking skills. 📝 Vocabulary Builder – Expand your word bank with curated word lists, flashcards, and review tools. 🔔 Custom Reminders – Get daily notifications for new words or grammar tips to keep learning consistently. 🔥 Streak Tracking – Stay motivated by maintaining your learning streak and reaching new milestones.
Whether you're a student, professional, or language enthusiast, this app is your ultimate companion for mastering English. Start learning today! 🚀
🔹 Dev Pullstack - Personal Portfolio
🔹 English Handbook - English Handbook
- Flutter
- Dart
- FlutterAssetsGenerator
- Bloc
assets: The folder to store resources file such as fonts, images and lottie animationsimages: store imagessounds: store soundsfonts: store fonts
lib: The folder is main container of all code inside Zeniuz applicationconfigs: Configuration of Router, Supabase, etc.constants: Constants of applicationcore: Base classes, extensions, etc.data:data_sources: Data sources such as API, Database, realtime, etc.models: Data models convert from raw data to entityrepositories: Repositories to interact with data sources
gererared: Generated files (intl, assets, etc.)navigation: Navigation of applicationui: User interfacecommons: Common and base widgetsscreens:home:bloc: Join screen blocwidgets: Widgets of Join screenhome_screen.dart: Join screen
utils: Helper functionsmain.dart: Entry point of applicationapp.dart: Wrapper of application
- Follow Effective Dart
- Import from dart package first, then flutter package, then project package, then current package
- Importing from the same package should be in one line and use relative path
- ex:
import '../../models/user_model.dart'
- ex:
- Move to root dir
cd {root} - Install necessary packages
flutter pub get
- Generate necessary files:
flutter pub run build_runner build --delete-conflicting-outputs - Click
Build->Generate Flutter Assetsto generate assets path - Note: If you create a new assets folder, right-click on the folder and click
Flutter: Configuring Pathsto add assets path intopubspec.yaml
- Download
google-services.jsonfrom Firebase and put it inandroid/app/src/developmentfolder - Download
GoogleService-Info.plistfrom Firebase and put it inios/Runner/GoogleServicesfolder, then rename it toGoogleService-Info-Development.plist - Do the same for
productionflavor
- We have 2 flavors:
developmentandproduction - Remove
.examplein.env.examplefolder or create your own env file and put it in.env/folder, that nameddevelopment.json - Run
flutter run --flavor development --dart-define-from-file=.env/development.jsonto run the app in development mode
- Create a keystore file
keystore.jks, it should be placed inandroid/appfolder - Create a file
key.propertiesinandroidfolder with the following content:
storePassword=<password>
keyPassword=<password>
keyAlias=<alias>
storeFile=<relative path to keystore file> (from android/app)
This project uses Fastlane to build and release the app. To build the app, you can run the following commands:
- Android:
cd androidfastlane release --env production
- IOS:
cd iosfastlane release --env production
And That's it! You are ready to go! 🚀
- Clone the repository
- See CONTRIBUTION.md for more details







