Aplicacion movil para descubrir, buscar y gestionar restaurantes. Desarrollada con React Native y Expo.
Plateful es una aplicacion que permite a los usuarios:
- Buscar restaurantes por nombre o tipo de comida
- Ver restaurantes cercanos usando geolocalizacion
- Consultar menus y cartas de los restaurantes
- Escribir y leer resenas de restaurantes
- Comentar en resenas de otros usuarios
- Gestionar restaurantes propios (para propietarios)
- Crear y editar platos en las cartas de los restaurantes
- Framework: React Native con Expo SDK 52
- Navegacion: Expo Router (file-based routing)
- Estilos: NativeWind (TailwindCSS para React Native)
- UI Components: React Native Paper, React Native Elements
- Estado: React Context API
- HTTP Client: Axios
- Mapas: React Native Maps
- Almacenamiento: Expo Secure Store, AsyncStorage
Mobile-Plateful/
├── app/ # Pantallas (file-based routing)
│ ├── (auth)/ # Pantallas de autenticacion (login, register)
│ ├── (tabs)/ # Navegacion principal con tabs
│ │ ├── home/ # Inicio y crear restaurante
│ │ ├── search_bar.tsx # Busqueda de restaurantes
│ │ ├── restaurantes.tsx # Lista de restaurantes
│ │ └── settings/ # Configuracion del usuario
│ └── restaurante/ # Detalles, resenas y cartas de restaurantes
├── components/ # Componentes reutilizables
├── contexts/ # Contextos de React (AuthContext)
├── hooks/ # Custom hooks
├── interfaces/ # Tipos e interfaces TypeScript
├── services/ # Servicios de API
│ ├── auth/ # Autenticacion (login, signup)
│ ├── restaurante/ # CRUD de restaurantes
│ ├── plato/ # CRUD de platos
│ ├── carta/ # Gestion de cartas/menus
│ ├── reseñas/ # Resenas de restaurantes
│ ├── comentarios/ # Comentarios en resenas
│ ├── busqueda/ # Busqueda por nombre/tipo
│ ├── maps/ # Ubicacion y restaurantes cercanos
│ └── user/ # Actualizacion de perfil
└── constants/ # Constantes y temas
- Node.js (v18 o superior)
- npm o yarn
- Expo CLI (
npm install -g expo-cli) - Expo Go app en tu dispositivo movil (opcional, para pruebas)
- Clonar el repositorio:
git clone <repository-url>
cd Mobile-Plateful- Instalar dependencias:
npm install- Configurar la URL del backend en
services/api.ts:
const BACKEND_URL = "http://<tu-ip-local>:8080";- Iniciar el servidor de desarrollo:
npm start| Comando | Descripcion |
|---|---|
npm start |
Inicia el servidor de desarrollo de Expo |
npm run android |
Ejecuta la app en un emulador/dispositivo Android |
npm run ios |
Ejecuta la app en un simulador/dispositivo iOS |
npm run web |
Ejecuta la app en el navegador web |
- Registro de usuarios (clientes y propietarios)
- Inicio de sesion con JWT
- Persistencia de sesion con Secure Store
- Listado de restaurantes propios (propietarios)
- Creacion y edicion de restaurantes
- Visualizacion de detalles del restaurante
- Busqueda por nombre y tipo de comida
- Restaurantes cercanos con geolocalizacion
- Creacion de cartas/menus
- CRUD de platos (nombre, descripcion, precio, imagen)
- Crear resenas con calificacion (estrellas)
- Ver resenas de un restaurante
- Comentar en resenas
- Actualizar nombre y telefono
- Cambiar foto de perfil
Esta aplicacion se conecta a un backend REST API desarrollado con Spring Boot.
Repositorio del Backend: https://github.com/Davidht77/Backend-Plateful
Asegurate de tener el servidor backend ejecutandose y actualiza la URL en services/api.ts.