A flutter app used to monitor and provide the rental info on lab equipments available in Centre of Emobility, Christ University.
This repo is second version which was initialized due to problems faced in versioning of libraries utilized within the project
First repo: https://github.com/Sudharsshan/emobility
This is a project developed solely for Centre of Excellence-Emobility Christ. It is focused on providing users a minimalistic seamless interface for navigation and booking the available lab equipments directly through the app.
- Clean and minimal UI
- Dynamic pricing updates
- Realtime modification of the lab equipments (currently embedded, realtime feature was rolledback since the server was down)
- Auth State for admin and guest roles
- Utilizes a custom state management for a minimal and clean trace across the app, allowing the developer to keep the app smooth and memory efficient.
- Architecture: Built using a custom state management architecture for a minimal and clean trace across the application, keeping it smooth and memory-efficient.
- Routing & Navigation: Employs standard Flutter navigation combined with a hidden drawer (
hidden_drawer.dart) for the main menu. - Data Storage: Uses
shared_preferences(found inlib/models/shared_preferences) for local persistence of authentication state, roles (admin/guest), and user settings. - Theming: Custom app themes and styling rules are organized within
lib/pages/appTheme.
lib/
├── components/ # Reusable UI widgets (buttons, textfields, drawers)
├── custom_database/ # Static data documents (CoE website info, Equipments)
├── fonts/ # Custom fonts used in the app
├── images/ # Local image assets
├── models/ # Data models and local storage (shared preferences) logic
├── pages/ # Main screens and views of the application
│ ├── about.dart
│ ├── equipments/ # Equipment specific sub-pages and dialog widgets
│ ├── home.dart
│ ├── login_page.dart
│ ├── settings.dart
│ └── ...
├── main.dart # Entry point of the application
└── major_screen.dart # Main wrapper and navigation screen
- Shared Preferences Model: Located in
lib/models/shared_preferences, it handles local storage interactions usingshared_preference_model.dartandpreferences_key.dartfor application settings and authentication state. - Data Services: Utilizes static files (like
CoE_website.docx,Equipments.docxinsidelib/custom_database) to manage static content related to the Centre of Excellence and lab equipments.
The application uses various customized widgets to deliver a seamless UI, mainly found in lib/components and lib/pages/equipments:
custom_Button.dart&my_textfield.dart: Styled form elements used in the login page and other inputs.hidden_drawer.dart: Provides the main side navigation menu.square_tile.dart: A generalized widget for displaying grid/list items.equipment_tile.dart&swiper_widget.dart: Specialized widgets for displaying lab equipment details and interactive image carousels.booking_popup.dart¶meterpopup.dart: Modal dialogs handling the interactive equipment booking flow and parameter specifications.
Below are a few app UI screenshots













