SummitUp - Trip Booking & Gear Rental
A mountain trip booking app with integrated payment gateway, rental services, and user reviews.

Timeline
Q2 2024 - Q3 2024
Tech Stack
Flutter (Dart) - Mobile App, BLoC - State Management, Next.js - Backend, SQL - Database, Midtrans - Payment Gateway, Firebase Authentication - Secure Login, Dio - API Communication, Jetstream & Laravel Sanctum - User Authentication (Backend)
Overview
SummitUp is a hiking-focused marketplace that helps outdoor enthusiasts book guided trips, rent hiking gear, and leave reviews. The platform lists mountains across Indonesia, each offering various trip packages and equipment rentals. Users can book trips, make secure payments via Midtrans, and manage their hiking plans seamlessly. I worked on both the mobile app (Flutter + BLoC) and backend (Next.js + SQL), ensuring a smooth end-to-end experience.
Features
Mountain Listings
Explore detailed hiking destinations across Indonesia.
Gear Rental System
Rent hiking equipment for trips directly in the app.
Trip Booking System
Book guided hikes with real-time availability tracking.
Integrated Payment Gateway
Secure transactions using Midtrans for credit cards, e-wallets, and bank transfers.
Order & Booking Management
Users can view, cancel, or reschedule trips and rentals.
β User Reviews & Ratings β Leave feedback on trips, guides, and rented gear.
Transaction History
Track past bookings and payments with detailed invoices.
Objectives
- β’Develop a full-stack solution for booking mountain trips and renting hiking gear.
- β’Implement a secure payment gateway using Midtrans for seamless transactions.
- β’Enable real-time booking & availability tracking for trips and rentals.
- β’Ensure a scalable backend with Next.js and SQL for handling transactions and user data.
Challenges & Solutions
Challenge 1
Handling secure transactions with a payment gateway.
Solution
Integrated Midtrans API with real-time payment verification & automatic booking confirmation.
Challenge 2
Ensuring real-time trip availability updates.
Solution
Implemented database polling and caching to keep availability accurate without excessive queries.
Challenge 3
Synchronizing backend & frontend for a smooth booking experience.
Solution
Used BLoC for structured state management and optimized API response times.
Results
Successful bookings processed via Midtrans.
Supports credit cards, e-wallets, and bank transfers.
Users completed their bookings without issues. (The remaining 10% probably changed their minds mid-hike.)
Key Learnings
Building SummitUp strengthened my expertise in payment gateway integration, backend development with Next.js, and managing state using BLoC. Handling real-time trip bookings and transactions required deep coordination between the frontend and backend, reinforcing my problem-solving skills in full-stack development.