@Servicepublic class ProductService { private final RoutePlanner routePlanner; private final RecommendationEngine engine; private final AIRecommendationService ai; public ProductService(RoutePlanner routePlanner, RecommendationEngine engine, AIRecommendationService ai) { this.routePlanner = routePlanner; this.engine = engine; this.ai = ai; } public TravelPlan createPlan(UserPreferences preferences) { RouteDraft draft = routePlanner.prepare(preferences); List<LocationScore> scores = engine.rank(draft.locations()); TravelPlan plan = new TravelPlan(); plan.setCity(preferences.city()); plan.setDuration(preferences.duration()); plan.setBudget(preferences.budget()); plan.setStops(ai.selectBestStops(scores, preferences)); return routePlanner.optimize(plan); } public boolean isReady(TravelPlan plan) { return plan != null && plan.hasRoute() && plan.hasDailySchedule(); }}
<section class="product"> <article class="card route-card"> <img src="/city.jpg" alt="Rota önizleme" /> <div class="card-content"> <h2>Nasıl çalışıyoruz</h2> <p>Problemi analiz eder, akışı tasarlar ve ürünü geliştiririz.</p> <ul class="route-list"> <li>Problemi anlamak</li> <li>Doğru teknolojiyi belirlemek</li> <li>Ürünü geliştirmek</li> </ul> <button>Projeyi başlat</button> </div> </article></section> .product { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem;} .card { display: flex; gap: 1.25rem; border-radius: 1.25rem; transition: transform 240ms ease, border-color 240ms ease;} .card:hover { transform: translateY(-2px); border-color: var(--turquoise);} .route-list { display: grid; gap: .75rem;}
Yaklaşım
Nasıl Çalışıyoruz
Her projeye önce problemi anlayarak başlıyor, doğru teknolojiyi belirleyip sade, ölçeklenebilir ve geliştirilebilir ürünler ortaya koymayı hedefliyoruz.