Plan your shopping. Track your spending. Cook like a chef.
| Team Member | Role |
|---|---|
| @Annahexe | Frontend Developer · Scrum Master |
| @BeaAlumFlor | Frontend Developer |
| @Iggox | Backend Developer |
| @jomote-florida | Backend Developer · Product Owner |
| @RTerabyte | Backend Developer |
ListOChef is a cross-platform mobile application designed to help users manage recipes, organize grocery and pantry ingredients, and track food-related expenses through purchase tickets.
The project was developed as the final project for the Intermodular Project subject in the Higher Vocational Training course in Multiplatform Application Development (DAM) at Florida Universitària, in Valencia. It has been developed with the goal of applying the technical and organizational knowledge acquired throughout the course in a practical and professional-like development environment.
ListOChef is focused on domestic food management. Its main purpose is to help users plan meals based on the ingredients they have at home, reducing food waste and improving organization.
The application allows users to:
- Browse and save recipes.
- Create custom recipes.
- Manage a grocery list.
- Keep track of pantry ingredients.
- Move ingredients from the grocery list to the pantry.
- Register purchase tickets with images.
- Track food-related expenses.
- Manage individual user data through authentication.
The app is fully functional on Android and iOS devices and has been developed following good programming practices, resulting in a stable and usable solution.
Users can explore recipes, save their favorite ones, view detailed recipe information, and create new recipes with ingredients, categories, preparation steps, cooking time, difficulty, tags, and photos.
Users can add ingredients to a grocery list, adjust quantities, filter items by tags, delete products, and move selected ingredients to the pantry.
Users can manage the ingredients they already have at home. The pantry supports quantity control, tag filtering, and product deletion.
Users can register purchase tickets by adding the supermarket, date, number of products, total price, and a ticket photo. The app also provides expense summaries and ticket history.
The application includes user registration, login, password reset, and profile editing. User data is protected through JWT-based authentication.
The frontend was developed using:
- React Native — for building the mobile interface.
- Expo Go — for development, testing, and cross-platform support.
- JavaScript — as the main programming language.
- React Native Paper — for UI components.
- Expo Image Picker — for selecting images from the device.
- React Native Toast Message — for user feedback messages.
The frontend follows a modular architecture, separating reusable components, screens, context, services, and utilities.
The backend was developed using:
- Java
- Spring Boot
- JWT authentication
- MongoDB Atlas
- Cloudinary
- AWS EC2
The backend follows a layered architecture:
- Controller — exposes HTTP endpoints and handles incoming requests.
- Service — contains business logic and validations.
- Repository — manages access to the database.
- Model — represents domain entities.
- Config — contains technical configuration such as database connection and security.
This separation of responsibilities improves maintainability, scalability, and testability.
├── assets/
│ ├── fonts/
│ └── icons/
├── docs/
├── src/
│ ├── components/
│ ├── context/
│ ├── mocks/
│ ├── screens/
│ ├── services/
│ └── utils/
└── App.jsThe project was developed by a team of five members using the Scrum methodology. This allowed the team to organize the work in an iterative, collaborative, and structured way.
ListOChef uses JWT-based authentication to protect user data and secure communication between the frontend and backend.
Sensitive information such as backend URLs should be stored in environment variables and excluded from version control using .gitignore.
Make sure you have installed:
- Node.js
- npm
- Expo CLI
- Expo Go app on your mobile device
git clone https://github.com/Annahexe/ListOChefnpm installCreate a .env file in the project root with the connection to the Server.
npx expo startThen scan the QR code with Expo Go.
This project was created for educational purposes as part of the Intermodular Project subject. Its main objective is to integrate knowledge related to mobile development, backend development, databases, teamwork, and agile methodologies.
This project was developed for academic purposes.




