arsantiagolopez / flavors

New dishes and authentic flavors are now at your fingertips. Discover, buy and sell your favorite foods with Flavors, a new app connecting people with local restaurants through their shared love for gastronomy.

Home Page:https://tryflavors.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

New dishes and authentic flavors are now at your fingertips. Discover, buy and sell your favorite foods with Flavors, a new app connecting people with local restaurants through their shared love for gastronomy.

⚡ Preview

Mobile
Desktop

🎯 Features

  • Create & sell your favorite plates.
  • Discover plates from other verified sellers around you.
  • Magic link & Social authentication (Google, Facebook)
  • Register as a seller to create your seller account and start selling food.
  • Activate & deactivate your store's open status, and accept or decline incoming orders.
  • Set a weekly schedule with your store's open and closed hours.
  • Sort & filter plates by multiple categories like sellers, popularity, price, dietary preferences, nationality and more.
  • Securely share your address with your customers/sellers by approximating your location.
  • Update your profile information including your display picture, name, username and address.
  • Create and update your password.
  • Link/unlink your social media accounts to your profile.
  • Create menus to categorize your plates.
  • Create coupons & apply them to your plates to activate discounts for a limited time.
  • Maintain individual buyer and seller ratings.
  • React to other sellers' plates with emojis and save them to your feed.
  • Find previously purchased plates under the "Buy Again" section on your dashboard.
  • Get suggestions for the top selling plates of the day.
  • Save your favorite sellers & plates for quick access.

‎‍💻 Tech Stack

Client

Tech What for
React Build a component-based user interface.
Next.js Server-side rendering (SSR) of React components.
React Hook Form Form state management and validation.
React Dropzone Upload image files.
React Geosuggest Google Maps Places API search component.
React Swipeable Views Swipeable screens UI component.
Google Places API Get the user's address.
SWR Cache & data fetching.
Axios HTTP promise-based data fetching requests.
CompressorJS Downsize images before upload.
Moment.js Parse & display dates.
Chakra UI Quickly build beautiful UI components.

Server

Tech What for
Node.js JavaScript runtime environment.
Express Design & build the API.
MongoDB NoSQL document-based database.
Mongoose Interact with the database.
NextAuth.js Local and social authentication solution.
Sengrid Mail Send password reset emails.
Axios Fetch data with promise based HTTP requests.
REST API HTTP API architecture.

DevOps

Tech What for
Vercel Host the client.
Heroku Server hosting & SSL certificate.
AWS S3 Buckets Cloud image hosting.
Babel Compile newer versions of JS to vanilla JS.

💡 Inspiration

Small applications were great practice, but I wasn't drawn to software development to build multiple test applications. Flavors was the first real-world project I brainstormed and fell in love with.

With an entrepreneurial mindset, I sought to create something that could provide value and change lives — similar to what Airbnb did to vacation stays or what Uber did to transportation, but for food. Exchanging food for money is one of the most primal acts there is, and a marketplace to facilitate this would bring users opportunity for additional income. A surplus in sellers would create competition in the market and decreased prices, ultimately being a plus for both sellers and buyers.

This is a scalable passion project I hope to continue tinkering with and perfecting.

🚀 Learning Objectives

  • Learn the basics of Stripe.
  • Design a scalable database structure to resemble a marketplace.
  • Learn the basics of geolocation.
  • Build beautiful, modern components similar to ones used by major companies.
  • Build a scalable, real-world application.
  • Run an application in production.
  • Start a multi-million dollar empire.

📜 License

License

☕ Contact me

About

New dishes and authentic flavors are now at your fingertips. Discover, buy and sell your favorite foods with Flavors, a new app connecting people with local restaurants through their shared love for gastronomy.

https://tryflavors.com

License:MIT License


Languages

Language:JavaScript 98.9%Language:CSS 0.9%Language:Shell 0.2%Language:Procfile 0.0%