A flutter app to get coffee from the brand new cafe on campus: Overclocked. Only high caffeine options available. Get your daily fix from Overclocked!
- Authentication: Clear feedback during sign-up, including custom popups for weak passwords and other errors.
- Password Reset: Recover your account via email with a fully integrated password reset flow.
- State Management: Manages the state of the app with a centralized state management system. Displays a loading screen while data is being fetched, and fails gracefully.
- Order History: View your past orders with a detailed breakdown of items and prices.
- Soft Delete: Clean up your order history with a soft-delete feature that refreshes the list instantly.
- Location-Based Delivery: Get your caffeine fix delivered to your exact location on campus.
- Students who are coffee addicts
- People sick of every app requesting their location data
- People who want to get their caffeine fix delivered to their exact location on campus (exact floor, exact building, exact room)
- People who haven't had sleep in a while
- Anyone who LOVES coffee
email: test@test.com password (Case Sensitive): Test1234
Also supports signups via email! Create your own account and check it out!
- lib/pages/: UI screens for the application (Home, Order, History, Auth, etc.).
- lib/services/: Core business logic and Supabase integration (Authentication and Cart management).
- lib/widgets/: Reusable UI components like cards and bottom sheets.
- lib/models/: Data structures used across the app.
- test/: Unit and widget tests to ensure application stability.
- Unit Tests:
- auth_manager_test.dart: Tests login/logout state.
- cart_manager_test.dart: Tests adding/clearing items and price calculations.
- Widget Tests:
- login_page_test.dart: Tests rendering and empty-field validation.
- register_page_test.dart: Tests rendering and registration validation.
- profile_page_test.dart: Tests user info display and logout functionality.
- menu_card_test.dart: Tests rendering and the interaction of opening the customization sheet.
