Skip to content

Repository files navigation

🍽️ MealGen - Your Culinary Command Center! 🚀

Built with Next.js TypeScript Material UI GraphQL Apollo Server MongoDB Docker

Because eating well shouldn't require a Ph.D. in meal planning!

A deliciously intelligent meal planning and nutrition tracking application that brings together the power of modern web technologies to satisfy your hunger for organization.

✨ What's Cooking?

MealGen is your personal kitchen assistant that helps you:

  • 🥦 Master Your Ingredients - Track nutrients, costs, and never run out of essentials
  • 🍳 Create Culinary Masterpieces - Build meal recipes with automatic nutrition calculation
  • 📅 Plan Like a Pro Chef - Drag-and-drop meal scheduling that Gordon Ramsay would approve
  • 💰 Budget Like a Boss - Keep food costs under control without sacrificing flavor
  • 🏋️ Crush Your Nutrition Goals - Track macros and micros with beautiful visualizations

🛠️ Tech Feast

🖥️ Frontend Delights

  • Next.js - The secret sauce for our responsive UI
  • React - For components that look good enough to eat
  • TypeScript - Because we like our code like our recipes: error-free!
  • Material UI - Giving our app that chef's kiss look and feel
  • DnD Kit - Making meal planning as fun as playing with your food (but more productive)
  • GraphQL Request - Fetching data faster than raiding the fridge

⚙️ Backend Kitchen

  • Node.js with Express - The reliable sous chef of our operation
  • Apollo Server - Serving up GraphQL queries piping hot
  • MongoDB - Where all your delicious data gets stored
  • GraphQL Compose - Mixing the perfect schema ingredients together
  • JWT - Keeping your culinary secrets safe from prying eyes

🧠 Learning Journey Highlights

Tip

Most of my challenges and learning experiences are documented in the wiki pages.
While they generally document the process of building the application, quotes marked with > [!NOTE] are my personal cooking adventures and problem-solving recipes!

🏗️ Project Architecture

The project is organized like a well-planned kitchen:

MealGen/
├── graduate_frontend/    # The beautiful dining room experience
├── graduate_backend/     # Where all the cooking magic happens

Want the full blueprint? Check out the Project Structure wiki page!

🚀 Fire Up the Stove

Ingredients You'll Need

  • Node.js (v16+) - Fresh and ready to go
  • MongoDB - Either locally grown or cloud-harvested from Atlas

Recipe for Success

The easiest way to get cooking is to clone the repository and follow the instructions in our Setup and Installation wiki page.

🐳 Pro Tip: Docker makes setup as easy as instant ramen, but way more impressive! Details in the wiki.

🌟 Feature Menu

🔐 User Authentication

  • Security that's tighter than the lid on a jam jar
  • Protected routes that keep uninvited guests out of your kitchen

🥕 Ingredient Management

  • Create, update, and delete ingredients faster than you can chop an onion
  • Track nutritional data more accurately than your fitness-obsessed friend

🍲 Meal Creation

  • Combine ingredients to create meals worthy of Instagram
  • Watch as nutritional values calculate themselves (it's like magic, but it's math!)

📆 Meal Planning

  • Create meal plans that would make Marie Kondo proud
  • Drag-and-drop interface so satisfying it should be considered therapy
  • Nutritional summaries that tell you exactly what you're putting in your body

📚 Chef's Notes

✅ Mission Accomplished

  • Test Setup-and-Installation.md information
  • Add yarn prettier to package.json
  • Add wiki pages
    • Finish all wiki pages
  • Update README.md with up to date info
  • Switch .env files with dummy data and reissue api keys
  • auth Page Error Handling
  • Sort out last minute dnd bugs

🔮 Future Menu Items

  • 💣 Data purging of old or innappropriate data for demo (so take-out stays cheap)
  • 🎨 Refactor page renders for a more appetizing visual experience
  • 💄 Implement styling to reduce hand-written CSS (because we prefer our CSS pre-cooked)
  • ⚠️ Enhance error handling and logging on the frontend (for when things get spicy)
  • 🛡️ Add more aggressive MongoDB validation (no bad data in our kitchen!)
  • 🧮 Implement automatic calculation for nutrition values (math should be automatic)
  • 🔄 Create more consistent live updates (fresher than farm-to-table)
  • 👯 Enable shared meal plans between users (because good food is meant to be shared)

Made with 💖, ☕, and occasional bouts of frustration

MealGen - Where technology meets gastronomy!

About

A MERN + GraphQL Fullstack Meal Planner Made For Web Dev 2

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Contributors

Languages