Welcome, Chingus!
This project focuses on developing a menu scheduling application that allows managers to create and share weekly menus for staff workers. The application ensures employees have clear visibility of the planned meals while addressing specific dietary restrictions and allergies.
In this voyage, your team will design and build an intuitive web application to simplify menu planning and ensure inclusivity for all employees, leveraging JSON-based datasets for dishes and allergy details.
This project is designed to be worked on by a team rather than an individual Chingu. This means you and your team will need to thoroughly read and understand the requirements and specifications below, and define and manage your project following the Agile Methodology defined in the Voyage Handbook.
As you create this project make sure it meets all of the requirements, but once it reaches MVP, start implementing the optional features or get creative and extend it in ways we haven't envisioned. In other words, use the power of teamwork to make it distinctive and unique.
Remember, UI/UX creativity is yours to explore—design an interface that stands out while ensuring ease of use.
The following define the minimum requirements and ideas for features you may implement to enhance this app, if time permits.
- This is a purely frontend application. No backend is required.
- You may use any languages, tools, or libraries you prefer when designing and building this app.
- You may NOT use AI-based solution generators like GitHub Copilot.
- Useful links and resources:
- Surprise us!!! Use your team's creativity to make this app distinctive.
- Add a footer containing a link to your team's GitHub repo.
- In general, you will find these UI design principles helpful.
- Recommend using this resource for clean CSS.
-
Application Overview
- Develop a responsive single-page application (SPA) to facilitate weekly menu scheduling.
- Ensure the application is user-friendly, accessible, and visually appealing.
-
Week Scheduling
-
Provide managers with the ability to schedule menus for a specific week using:
- Date Picker: A calendar interface for seamless week selection.
- Default Option: Automatically pre-select the upcoming week for scheduling.
- Manual Input: Allow managers to specify the start and end dates of the week.
-
Define the weekly menu structure as a 7-day period starting on Monday and ending on Sunday.
-
-
Dish Management
-
Dish Assignment
- Enable managers to assign dishes for each day of the week by:
- Automatically generating a menu with one unique dish for each day using the provided dishes dataset.
- Enable managers to assign dishes for each day of the week by:
-
Data Requirements
- Source dishes from the provided JSON file containing the following details:
- Dish Name: Unique identifier for each dish.
- Ingredients: List of ingredients used.
- Calories: Nutritional value of the dish.
- Source dishes from the provided JSON file containing the following details:
-
Allergen Restrictions
- Cross-reference the workers' allergies JSON file to prevent scheduling dishes containing allergens.
-
-
Validation and Error Handling
- Ensure menus are created only for the current week or future weeks
- Display an error message for invalid inputs (e.g., selecting past weeks or overlapping scheduling entries).
- Prohibit duplicate dish assignments for the same week
- Provide clear error messages when duplicates are detected.
-
User Interface and Experience (UI/UX)
- Present the finalized weekly menu in an intuitive and readable format, such as (table view, calendar-like grid) surprise us :).
- Ensure the application is fully responsive and adapts to various devices and screen sizes.
-
"Day Off" Feature
- Enable marking specific weekdays as "Day Off," where no dish is assigned.
-
Data Export
- Add functionality for managers to download or export the finalized weekly menu as a PDF or Excel file.
-
Users can successfully create a valid weekly menu with:
- Unique dishes.
- Exclusion of allergenic options.
-
The UI provides clear feedback for invalid inputs (e.g., duplicate dishes, allergen violations).
-
The weekly menu is displayed in a clean, accessible format.
We would like to express our profound gratitude to the global developer community, whose collaborative spirit and shared knowledge continually motivate and enrich our endeavors. Together, we achieve extraordinary milestones. Thank you.
If you aren't yet a member of Chingu we invite you to join us. We help our members transform what they've learned in courses & tutorials into the practical experience employers need and want.