/little-lemon-app

Meta React Native course final project

Primary LanguageJavaScript

Little Lemon Food Ordering & Productivity App

Welcome to Little Lemon, a versatile React Native Expo application that seamlessly blends the convenience of food ordering with refreshing productivity features.

Overview:

Little Lemon App is a React Native Expo-based platform designed to cater to two essential aspects of users' lives – food and productivity. Users can not only enjoy a hassle-free food ordering experience from their favorite restaurants but also enhance their daily routines with productivity tools.

Features:

Onboarding and Registration:

Users can sign up on the Little Lemon app, initiating a streamlined registration process. Upon successful registration, users are directed to a vibrant home screen. Personalized Home Screen:

The home screen acts as the central hub post onboarding, featuring a user-friendly interface. It includes a header, a banner with a search bar, and a categorized list of menu items for a delightful food exploration experience. Customizable Profile Screen:

Users have the flexibility to customize their profiles, including name, email, and photo, through an intuitive Profile Screen. The Profile Screen also incorporates four checkboxes enabling tailored email notifications for order status, password changes, special offers, and newsletters. Persistent User Preferences:

Utilizing the AsyncStorage module, the app ensures that user preferences are preserved even after the application is closed, offering a seamless and personalized experience. Secure Logout Functionality:

Clicking the Logout button redirects the user to the login page, clearing all data saved from the Profile Screen. Smart Menu Management:

The app employs an SQLite Database to efficiently populate, query, and filter menu items, providing users with a curated and easily navigable selection. How to Use the Project:

Run npm install && npm start in your terminal. A QR Code will appear. Scan it through the Camera app on iOS or the Expo Go app on Android. Explore the app's features, from food ordering to productivity tools.

Built With:

React Native - Developed using Expo for a cross-platform experience. SQLite - Employs a robust database for efficient menu item management. AsyncStorage - Ensures the persistence of user preferences. StyleSheet - Utilized for styling the app interface. What I Learned:

Creating a React Native app with Expo. Wireframing and creating high-fidelity mockups with Figma. Implementing ContextAPI for login functionality. Leveraging React Navigation (Native Stack) for seamless screen routes. Utilizing ImagePicker API for setting user profile pictures. Implementing AsyncStorage for storing user settings. Connecting and managing SQLite for efficient menu item handling. Designing and implementing form validation for user interactions.

Useful Resources:

React Native Docs (StyleSheet) ImagePicker API SQLite Documentation AsyncStorage Documentation ContextAPI Documentation