Skip to content

Sunagatov/Iced-Latte-Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1,439 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Iced Latte Frontend

Iced Latte Frontend

β˜• Production-grade Next.js 16 / React 19 frontend for a coffee marketplace.

πŸš€ A real-world learning project with catalog browsing, authentication, cart, checkout, favorites, orders, reviews, responsive UI, client state, and test automation.

🌐 Live Demo Β· πŸš€ Getting Started Β· πŸ”Œ Backend API Β· 🟒 Good First Issues Β· πŸ’¬ Community

CI Quality Gate Coverage License

GitHub Stars Contributors Good First Issues Open Issues

Docker Pulls Docker Image Size Last Commit Commit Activity


πŸ“Έ Preview

Iced Latte Frontend

Live application interface: iced-latte.uk


πŸ† Recognition

Iced Latte is not just a demo repository. The broader project ecosystem has been noticed by developers, contributors, mentors, tooling companies, and open-source communities.

Recognition Why it matters Proof
1. πŸ”₯ GitHub Trending
May 22, 2024
The backend repository reached GitHub Trending and gained 85 stars in one day with 27 active contributors. Archive
2. πŸ₯‰ KaiCode 2024 Finalist
Developer festival selection
Selected among 412 applications for a developer festival backed by Huawei. KaiCode 2024
3. πŸ› οΈ JetBrains Open Source License
Contributor tooling support
JetBrains granted 8 All Products Pack licenses to support contributors. JetBrains OSS
4. πŸ‘¨β€πŸ’» Recommended by a GitHub Star
Community endorsement
Publicly recommended as a strong Java project example, with contributors sharing their experience. LinkedIn post

⭐ These milestones show that Iced Latte is a real collaborative engineering project, not a toy example.


πŸ€” What is this?

Iced Latte Frontend is the customer-facing web application for the Iced Latte coffee marketplace. It connects to the Spring Boot backend and gives contributors practical experience with a real Next.js codebase, product flows, API integration, authentication, state management, responsive UI, and automated testing.

Iced Latte started in 2022 as a private pet project. It was later 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 project has since grown and earned recognition from the wider developer community.

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


πŸ“Š Repository Ecosystem

Iced Latte is split into three focused repositories so contributors can work on backend, frontend, or QA independently.

Repository What it contains Best for Stats
πŸ”§ Backend Java 25, Spring Boot 4, PostgreSQL, Redis, MinIO, Stripe, OpenAPI Backend engineers, Java learners, API contributors Stars Forks
🎨 Frontend Next.js, React, TypeScript, TailwindCSS, product UI, frontend tests Frontend engineers, UI contributors, React learners Stars Forks
πŸ§ͺ QA Test automation, quality workflows, end-to-end coverage QA engineers, test automation learners, release-quality contributors Stars Forks

⭐ If this project helps you learn or inspires you, please give it a star β€” it helps more contributors discover the ecosystem.


πŸš€ Quick Start

πŸ“– New here? Start with the Getting Started Guide.

It explains every step slowly: what to install, how to run the frontend, how to start the backend, how Docker fits in, and what to do when something fails.

βœ… You need these installed first:

  • Node.js 22.18+
  • Docker Desktop

⚑ Already comfortable with the terminal? Use the short path:

git clone https://github.com/Sunagatov/Iced-Latte-Frontend.git
cd Iced-Latte-Frontend

cp .env.example .env.local
npm ci
npm run dev

πŸ”Œ The backend must be running for products, login, cart sync, checkout, and orders to work. The Getting Started Guide shows the recommended backend + frontend setup.

🌐 Frontend: http://localhost:3000
πŸ”Œ Backend API: http://localhost:8083/api/v1

πŸ§ͺ Run the checks:

npm run lint
npm run tsc -- --noEmit
npm test

🎭 Run E2E tests:

npm run test:e2e

🎭 E2E tests require the app running on http://localhost:3000.


πŸ› οΈ Tech Stack

Category Technologies
πŸ’» Core frontend Next.js 16, React 19, TypeScript 5, Node.js 22.18+
🎨 Styling & UI TailwindCSS 4, React Icons, responsive layouts
🧭 Routing & app shell Next App Router, route handlers, layouts, providers
πŸ“‘ API integration Axios, Axios Cache Interceptor, SWR
πŸ—ƒοΈ State management Zustand, custom session orchestration
πŸ“ Forms & validation React Hook Form, Yup
πŸ” Auth flows Sign-in, sign-up, password reset, registration confirmation, token/session helpers
πŸ§ͺ Testing & quality Jest 30, React Testing Library, Playwright, ESLint 9, Prettier, SonarCloud
🚒 Delivery Docker, GitHub Actions, Vercel config

πŸ“š Guides & Features

  • πŸ“„ Getting Started β€” local run modes, Docker setup, backend connection, environment variables, troubleshooting
  • πŸ“„ Architecture: Feature Packaging β€” feature-first frontend structure: keep UI, state, hooks, and helpers close to the owning feature
  • πŸ“„ Authentication β€” auth flows and frontend/backend auth behavior
  • πŸ“„ E2E Test Plan β€” Playwright coverage plan and scenarios
  • πŸ“„ Security Policy β€” security policy and vulnerability reporting
  • πŸ“„ Code of Conduct β€” community standards and expected behavior
  • πŸ“„ LICENSE β€” Apache License 2.0

πŸ“ 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/         # Favorites
β”‚   β”œβ”€β”€ home/              # Home page route and hero section
β”‚   β”œβ”€β”€ orders/            # Orders and order success
β”‚   β”œβ”€β”€ payment/           # Payment-facing frontend logic
β”‚   β”œβ”€β”€ products/          # Catalog and product details
β”‚   β”œβ”€β”€ reviews/           # Reviews and ratings
β”‚   β”œβ”€β”€ session/           # Session orchestration across auth/cart/favorites
β”‚   └── user/              # Profile and user account flows
β”œβ”€β”€ shared/                # Cross-feature building blocks
β”‚   β”œβ”€β”€ api/               # Axios client
β”‚   β”œβ”€β”€ auth/              # Cookies, token helpers, session tracing
β”‚   β”œβ”€β”€ config/            # Feature flags, routes, constants
β”‚   β”œβ”€β”€ types/             # Shared TypeScript types
β”‚   β”œβ”€β”€ ui/                # Reusable UI primitives
β”‚   └── utils/             # Generic utilities
└── types/                 # Global declaration files

🀝 Contributing

Iced Latte is built in the open and welcomes contributors who want practical experience with a real Next.js/React codebase.

I want to... Start here
🟒 Make my first contribution Pick a good first issue and comment "I'm on it"
πŸ› Report a bug Open an issue with clear observed vs expected behavior
πŸ’‘ Suggest a feature Start a Discussion before implementation
πŸ”§ Make a larger change Comment on the issue first so hidden constraints can be clarified

Before opening a PR:

  • 🎯 Keep the change focused on one concern
  • βœ… Run npm run lint, npm run tsc -- --noEmit, and npm test
  • πŸ”— Reference the related issue
  • πŸ“– Read the full Contributing Guide

⚠️ By contributing, you agree to the project license and contribution terms described in LICENSE.


πŸ“„ License

Iced Latte is licensed under the Apache License 2.0. See LICENSE for details.

The Iced Latte name, logo, domain, visual identity, and other brand assets are not licensed for use in a way that suggests official endorsement, partnership, or ownership without explicit written permission.


πŸ“ž Contact

❀️

About

a online Marketplace for coffee retail (Frontend)

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors