- Initialize the project repository with appropriate directories for frontend and backend.
- Set up the development environment with tools such as Node.js, and create React app with Material-UI integration.
- Define the GraphQL schema for food entries, user profiles, and admin functionality.
- Develop GraphQL resolvers for user and food entry-related operations (CRUD).
- Implement user authentication with a token system managed through GraphQL context.
- Work on the Nutritionix API integration for food data autocomplete within GraphQL API.
- Scaffold necessary components using Material-UI for UI consistency.
- Implement React hooks, such as useState and useEffect, to manage state and data fetching from the GraphQL API.
- Integrate GraphQL queries and mutations into frontend logic for real-time data interaction.
- Add a feature for users to 'invite a friend' using a GraphQL mutation.
- Implement a calorie limit warning feature that users can customize through the app, backed by GraphQL.
- Begin building admin-specific interfaces for management and reports.
- Conduct end-to-end testing of the app, with a focus on GraphQL data flow and React component state management.
- Use Material-UI's responsive design features to ensure the app looks and functions well on different devices.
- Debug any issues identified and refine UX/UI interactions.
- Draft comprehensive documentation covering use of the app and codebase structure.
- Record a detailed video tutorial showcasing the functionality enabled by the GraphQL backend and React/Material-UI frontend.
- Finalize all code, conduct a thorough review, and apply finishing touches for a polished product.
- Send frend request test and review.