Skip to content

About

a online Marketplace for coffee retail (Backend)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

643 stars

Watchers

5 watching

Forks

Latest commit

Β 

History

2,551 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Iced Latte

Iced Latte

β˜• Production-grade Java 25 / Spring Boot 4 backend for a coffee marketplace.

πŸš€ A real-world learning project with authentication, catalog, cart, orders, payments, reviews, file storage, observability, and cloud-ready infrastructure.

🌐 Live Demo Β· πŸš€ Getting Started Β· πŸ“– API Specs Β· 🟒 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 Main Page

Live application interface


πŸ† Recognition

Iced Latte is not just a demo repository. It has been noticed by developers, contributors, mentors, tooling companies, and engineering 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 Tooling Support
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 is a non-profit sandbox project 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 first participants were students, Telegram channel subscribers, and mentees from ADPList and Women In Tech. 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 Customer-facing marketplace web application 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 backend, how to use IntelliJ, how to run Docker, how to connect the frontend, and what to do when something fails.

βœ… You need these installed first:

  • Java 25
  • Maven 3.9+
  • Docker Desktop

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

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

docker compose --env-file .env.example up -d postgres redis minio minio-init
set -a && source .env.example && set +a && mvn spring-boot:run

πŸͺŸ On Windows PowerShell / CMD, do not copy the last command blindly. Use the Getting Started Guide instead.

🩺 Health: http://localhost:8083/actuator/health
πŸ“š Swagger UI: http://localhost:8083/api/docs/swagger-ui/index.html

πŸ§ͺ Run the tests:

mvn test

βœ… Tests use Testcontainers β€” Docker must be running.


πŸ› οΈ Tech Stack

Category Technologies
πŸ’» Core backend Java 25, Spring Boot 4.0.6, Spring Framework 7, Maven
πŸ—οΈ Application framework Spring Web, Spring Security, Spring Data JPA, Spring Retry, Spring Actuator
πŸ—„οΈ Data layer PostgreSQL, Liquibase, Redis, Caffeine
πŸ”’ Authentication & security JWT with JJWT 0.13, Google OAuth2, Argon2, Bouncy Castle
☁️ Storage & cloud AWS S3 SDK 2.x, CloudFront, MinIO
πŸ’³ Payments Stripe
πŸ€– AI features LangChain4j, OpenAI-compatible APIs
πŸ“‹ API contract OpenAPI 3, SpringDoc 3.0, OpenAPI Generator 7
πŸ“Š Observability Micrometer, Prometheus, OpenTelemetry, Sentry, Loki, Datadog
πŸ§ͺ Testing & quality JUnit 5, Testcontainers, REST Assured, Instancio, Jacoco, SonarCloud, Codecov
πŸ”„ Code generation & mapping MapStruct 1.6, Lombok

πŸ“š Guides & Features

  • πŸ“„ Getting Started β€” all four local run modes, IDE setup, Docker-only mode, troubleshooting
  • πŸ“„ Infrastructure β€” how the database, object storage, and Redis cache are wired together, with free-tier provider options and env vars explained
  • πŸ“„ Architecture: Feature Packaging β€” modular-monolith rule: keep business code inside its owning feature package
  • πŸ“„ Contributing β€” how to contribute, PR guidelines, branching
  • πŸ“„ Security Policy β€” security policy and vulnerability reporting
  • πŸ“„ Code of Conduct β€” community standards and expected behavior
  • πŸ“„ LICENSE β€” Iced Latte Personal Evaluation License 2026

πŸ“ Project Structure

src/main/java/com/zufar/icedlatte/
β”œβ”€β”€ πŸ”’ security/       # JWT auth, Google OAuth2, registration, login, sessions, rate limiting
β”œβ”€β”€ πŸ”‘ auth/           # Google OAuth2 callback, auth redirects
β”œβ”€β”€ πŸ‘€ user/           # User profile, addresses, avatars
β”œβ”€β”€ πŸ“¦ product/        # Product catalog, filters, images
β”œβ”€β”€ πŸ›’ cart/           # Shopping cart
β”œβ”€β”€ πŸ“‹ order/          # Orders, order lifecycle, order history
β”œβ”€β”€ πŸ’³ payment/        # Stripe payment, checkout, webhooks
β”œβ”€β”€ ⭐ review/         # Product reviews, ratings, AI moderation
β”œβ”€β”€ ❀️ favorite/       # Favorites list
β”œβ”€β”€ πŸ“§ email/          # Email verification & notifications
β”œβ”€β”€ πŸ“ filestorage/    # AWS S3 / MinIO file upload/download
β”œβ”€β”€ πŸ”§ common/         # Shared utilities, validation, monitoring, HTTP helpers
└── πŸš€ astartup/       # Startup data migration and bootstrap tasks

🀝 Contributing

Iced Latte is built in the open and welcomes contributors who want practical experience with a real Java/Spring Boot 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 mvn test
  • πŸ”— Reference the related issue
  • πŸ“– Read the full Contributing Guide

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


πŸ“„ License

πŸ“œ Iced Latte Personal Evaluation License 2026 β€” personal local evaluation only.

Commercial use, remote hosting, publication, redistribution, sublicensing, forks, mirrors, derivative repositories, educational use, public presentation, and any transfer or sharing of the repository material or derivatives require prior written permission signed by the author and legally verified as required by the author.


πŸ“ž Contact

❀️

About

a online Marketplace for coffee retail (Backend)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

643 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages