Mobile food delivery app developed with React Native and Expo for the final project of Coderhouse mobile development course.
In it you can, register or log in to order food, search for restaurants by name or type, add restaurants to your favorite list, manage your order, manage your directions and credit/debit cards, manage your profile, upload a profile picture, among many other things.
Authentication
(Users can register and login himselfs)Order Food
(Users can make orders to any of the restaurants that foodie offers)Search and Filter Restaurants and Food
(Users can filter restaurants and food by searching the name or filtering by tags)Favorite Restaurants
(Users can add restaurants as favorites so they can make orders quickly)Checkout Options
(Users can increase, decrease or delete items from the order and they can choose the payment method)Orders History
(Users can see their history of orders and more details about an specific order)User Information
(Users can see their information and edit it)Avatar Photo
(Users can upload an avatar photo from their library or with the camera)Addresses and Cards
(Users can add and manage their addresses and cards)
foodie-demo-2.mov
foodie-demo-1.mov
Foodie uses firebase as a cloud service for persistence, authentication and storage of multimedia content.
Foodie is developed with React Native and Expo.
Global application state is managed with Redux Toolkit.
This is responsible for managing the authentication status of the app, the user's current order, order history and addresses and the available restaurants.
The application uses firebase as an external authentication layer.
The navigation of the app can be separated into authentication and application, when there is no logged in user the application shows the authentication stack, on the other hand when there is a logged in user the navigation tab is shown consisting of 3 tabs, food, orders and profile where each of these is a separate stack.
The application connects with the SQLite database to obtain and store the addresses of the users.
The camera and gallery of the device are used so that users can change their profile picture.