Skip to content

Sunagatov/Iced-Latte-Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,318 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Iced Latte Frontend

A modern React/Next.js coffee marketplace frontend β€” built in the open, for engineers who want real experience.

🌐 Live Demo Β· 🟒 Good First Issues Β· πŸ’¬ Community

CI Status License: CC BY-NC 4.0

GitHub Stars GitHub Forks Contributors Docker Pulls


πŸ“Š Key stats across all three repositories

Repository ⭐ Stars 🍴 Forks
πŸ”§ Backend Stars Forks
🎨 Frontend Stars Forks
πŸ§ͺ QA Stars Forks

⭐ If this project helps you learn or inspires you, please give it a star β€” it means a lot to the community!


πŸš€ Quick Start

πŸ“‹ Prerequisites: Node.js 20+ and npm, Docker Desktop for backend-backed local runs

# 1. πŸ“₯ Clone
git clone https://github.com/Sunagatov/Iced-Latte-Frontend.git && cd Iced-Latte-Frontend

# 2. πŸ“ Copy the example env file
cp .env.example .env.local

# 3. πŸ“¦ Install dependencies
npm ci

# 4. ▢️ Run
npm run dev

🌐 App runs at http://localhost:3000

⚠️ The backend must be running for products and login to work. See Getting Started Option A to start it with one Docker command.

πŸ’‘ See Getting Started for Docker setup, E2E tests, and troubleshooting.

πŸ§ͺ Run the tests:

npm test

πŸ” Lint and type-check:

npm run lint
npm run tsc -- --noEmit

πŸ“Έ Preview

Iced Latte Frontend

Live application interface: iced-latte.uk


πŸ€” What is this?

Iced Latte is a non-profit sandbox project started in 2022 as a private pet project, then opened to the community to give junior engineers, students, and mentees practical experience in a real tech project with processes similar to those in actual tech teams. The first participants were students, Telegram channel subscribers, and mentees from ADPList and Women In Tech. The project has since grown and earned recognition from both the open-source community and the wider tech community.

⭐ If this project helps you learn or inspires you, please give it a star β€” it means a lot to the community!


πŸ† Recognition

Iced Latte has earned recognition from the broader tech community.

πŸ”₯ GitHub Trending β€” May 22, 2024

  • The backend repository reached GitHub's Trending page β€” listed among resources "the GitHub community is most excited about today" β€” gaining 85 stars in a single day with 27 active contributors. (link to the archive)

πŸ₯‰ KaiCode 2024 Finalist

  • Iced Latte made it to the finals of KaiCode β€” an annual open-source festival launched by Huawei, which positions itself as an incubator of open-source technologies and rewards the most promising projects. Iced Latte was selected among 412 applications and placed in the third group of 26 finalist repositories considered for the prize. Jury members are not allowed to assess their own projects, so the selection was fully independent.

πŸ› οΈ JetBrains Open Source License

  • Iced Latte was recognized by JetBrains β€” a leading software company specializing in intelligent development tools. As an active participant in the open-source community, JetBrains supports recognized global open-source projects by providing complimentary licenses for non-commercial development. JetBrains granted Iced Latte 8 free All Products Pack licenses (February 2024, License Reference No. D379769990).

πŸ‘¨β€πŸ’» Recommended by Eddie Jaoude

  • Iced Latte was recommended by Eddie Jaoude β€” one of the most influential open-source experts, a GitHub Star with 174K followers on X and 17.6K on LinkedIn β€” who called it a great example of a Java open-source project. Many Iced Latte contributors shared their positive experience in the comments.

πŸ› οΈ Tech Stack

πŸ“‚ Category πŸ”§ Technology
πŸ’» Core Next.js 16 + TypeScript 5 + React 19
πŸ—ƒοΈ State Manager Zustand
🎨 CSS Framework TailwindCSS 4
πŸ“‘ Data Fetching Axios + SWR
πŸ“ Forms React Hook Form + Yup
πŸ§ͺ Testing Jest, React Testing Library, Playwright
🚒 Deployment Docker, GitHub Actions, Vercel

πŸ“ Project Structure

src/
β”œβ”€β”€ app/                   # Next App Router entries, route handlers, shell layout, providers
β”‚   β”œβ”€β”€ api/               # Next route handlers and proxy endpoints
β”‚   β”œβ”€β”€ layout/            # Header, footer, and app-shell UI
β”‚   └── providers/         # App bootstrap and global runtime wiring
β”œβ”€β”€ features/              # Product/domain slices
β”‚   β”œβ”€β”€ addresses/         # Delivery address management
β”‚   β”œβ”€β”€ auth/              # Sign-in, sign-up, password reset, auth guards
β”‚   β”œβ”€β”€ cart/              # Shopping cart flows and state
β”‚   β”œβ”€β”€ checkout/          # Checkout flow
β”‚   β”œβ”€β”€ favorites/         # Favourites
β”‚   β”œβ”€β”€ home/              # Home page route and hero section
β”‚   β”œβ”€β”€ orders/            # Orders and order success
β”‚   β”œβ”€β”€ products/          # Catalog and product details
β”‚   β”œβ”€β”€ reviews/           # Reviews and ratings
β”‚   β”œβ”€β”€ session/           # Session orchestration across auth/cart/favourites
β”‚   └── user/              # Profile and user account flows
β”œβ”€β”€ shared/                # Cross-feature building blocks
β”‚   β”œβ”€β”€ api/               # Axios client
β”‚   β”œβ”€β”€ auth/              # Cookies, token helpers, session tracing
β”‚   β”œβ”€β”€ types/             # Shared TypeScript types
β”‚   β”œβ”€β”€ ui/                # Reusable UI primitives
β”‚   └── utils/             # Non-auth generic utilities
└── types/                 # Global declaration files

Structure rules

  • Keep app/ thin. It should own Next routing, shell layout, and provider wiring, not feature business logic.
  • Keep route implementations under the owning feature whenever the route has meaningful UI or orchestration logic.
  • Use shared/ui only for domain-agnostic primitives. Header, footer, hero sections, and auth guards are not generic UI.
  • Keep auth cookies, token helpers, and request tracing under shared/auth.
  • Do not let shared/ import from app/ or from feature modules.

🚒 Deployment

🚫 No Kubernetes, no cloud-managed services. This repo builds and publishes a Docker image; the broader runtime wiring lives in the backend/Vault deployment setup.

The full production setup is in the backend docker-compose.yml. On every push to master, GitHub Actions builds and pushes the frontend Docker image. CI runs on every push to development and on pull requests targeting development.

πŸ” Explore the GitHub workflows folder for the full CI/CD pipeline.


🀝 Contributing

πŸŽ‰ Contributions are welcome. Here's how to get involved:

🎯 Situation πŸš€ Action
πŸ› Found a bug Open an issue with the bug label
πŸ’‘ Want a feature Start a Discussion first
πŸ‘¨β€πŸ’» Ready to code Pick a good first issue, comment "I'm on it"
πŸ”§ Big change Comment on the issue before writing code β€” many tickets have hidden constraints

🏷️ Issue labels

🏷️ Label πŸ“ Meaning
🟒 good first issue Simple, well-scoped β€” great for first-timers
πŸ”΄ bug Something is broken
πŸ”΅ high priority Do this first
🟑 enhancement Accepted improvement to an existing module
🟠 new feature New functionality β€” discuss before starting
βšͺ idea Needs design discussion β€” don't implement yet

πŸ› Bug reports

  • πŸ” Search existing issues before opening a new one
  • πŸ“ Clearly describe observed vs expected behaviour
  • πŸš€ For minor fixes, just open a PR directly

πŸ”„ Pull requests

  • 🎯 Keep PRs focused β€” one concern per PR
  • βœ… Make sure npm run lint, npm run tsc -- --noEmit, and npm test pass locally before pushing
  • πŸ”— Reference the issue number in your PR description

🍴 Forking

🀝 Forks are welcome. Please share useful features back via PR so the community benefits and your fork stays easy to sync.


πŸ“„ License

πŸ“œ CC BY-NC 4.0 β€” free for educational and personal use with author attribution. Commercial use requires explicit written permission from the author (zufar.sunagatov@gmail.com).


πŸ“ž Contact

About

a online Marketplace for coffee retail (Frontend)

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors

Languages