Journora | Flutter AI Travel Planner App Template
Version Download:
Original price was: $28.00.$4.00Current price is: $4.00.
Journora is a complete Flutter app template for planning a trip — 22 screens covering the brief, a day-by-day itinerary, a document wallet, a split budget, a packing list, onboarding, auth and settings, in light and dark. It runs on your own API key, and it also runs on no key at all: Demo mode ships switched on and answers from bundled sample itineraries, so every screen works the moment you press run.
Name a city and a number of days, and a full day-by-day itinerary comes back — morning, afternoon and evening, with a theme for each day and a per-person cost on every stop. Then it stops being a plan and becomes the trip: the documents you need at the desk, the money the group owes each other, and the list of things still to pack. There is nothing to deploy and nothing to host: no server, no Firebase, no vendor SDK, and the buyer’s API keys go to the iOS keychain and to encrypted storage on Android.
What’s in the package
- Full Flutter app source code — 22 screens and sheets, null-safe, and
flutter analyzecomes back with zero issues - Light and dark themes, declared side by side in a single
app_colors.dartfile, with the switch in the app on the You tab - A bundled library of 12 destinations and 6 full sample itineraries — real places, day themes, per-stop costs and practical notes, written out rather than generated
- Four runtime dependencies only —
get,http,flutter_secure_storageandcupertino_icons. No vendor AI SDK is used anywhere, so no provider package update can break your build - Schibsted Grotesk, Albert Sans and Caveat bundled as variable font assets with their SIL Open Font License files, plus 15 photographs under the Pexels License with a credits file; nothing is fetched at runtime
- Clean GetX architecture — view to controller to service to data. No screen ever reads the mock layer, so replacing a service method body is all it takes to go live
- A deterministic demo data layer — no wall-clock dependency in the seed data, so every screen renders the same on every run
- Offline HTML documentation, 16 sections — setup with and without the terminal, a terminal glossary, a screen tour, a provider key walkthrough, request headers and error handling per provider, what to do when a model name is retired, re-skinning, the project structure, connecting your own backend and troubleshooting
- 74 widget and service tests, including the settlement arithmetic and the document expiry maths, plus an integration walkthrough that drives every screen
Who is this for
- Flutter developers shipping a travel planner who want the parts nobody else finishes — the document wallet, the group settlement, the packing rules — already solved
- Freelancers and agencies with a travel or tourism client: re-skin one theme file, paste the client’s key and hand it over
- Founders validating a travel app who need something real in front of users this week, without paying for a server first
- Product teams at tour operators, destination brands and travel agencies who want a modern reference app to build on
Say where and how long — get a day-by-day plan
The brief is four controls and a row of chips: how long, how many of you, how soon, then pace, budget and interests. A day stepper, not a calendar range picker — “how long” is the question a planner actually asks, and “which dates” is the question a booking engine asks. Those answers are turned into one plain-words prompt, sent once, and parsed back into dated days. Pace and budget each get their own row, because those two change a plan more than anything else.
A day that reads like a day
Not a flat list of times. Each day is three labelled stretches — morning, afternoon and evening — and every stop is a folder card with its own type, cost, duration and neighbourhood. A generated plan’s times are suggestions, and grouping them says so honestly instead of dressing a guess up as a schedule. Long-press a card and drag it into a different part of the day.
Travel documents that work with no signal
Passports, insurance, cards and bookings live on the device. Nothing here needs a network, which is exactly when you need a policy number read out to you. Anything inside thirty days counts down, then shouts: it gets a raspberry Renew now chip with the days left and is lifted into its own Needs attention slot at the top of the tab. Sensitive fields stay masked until you ask — a passport number reads as ••• 2270 until the eye reveals it, the copy icon puts it on the clipboard, and a value too short to mask safely stays hidden whole.
- Before making a purchase, please read the Terms and Conditions on this page: Terms & Conditions
- If you have any questions, please first read the FAQ on this page: FAQ
- If you haven’t found the answer to your question, please contact us by e-mail codingshop20@yahoo.com or create ticket.
- Developer Support: Official support from the original developer is not included with purchases from CodingShop.
- Product Updates: Free lifetime updates are not included. Future updates is not free and should buy again.
- Download Access: Purchased products are available for download for 30 days after purchase. We recommend downloading and securely storing your files during this period.
- Security: We take reasonable measures to review the files available on our platform. Customers should also scan downloaded files with up-to-date security software before installation.
- All software products available on CodingShop are distributed under the GNU General Public License (GPL). The applicable license information is provided with each product where applicable. Please review the applicable GPL license terms before using, modifying or redistributing any product.
- CodingShop is an independent digital marketplace and is not the original developer or official distributor of third-party products unless explicitly stated. We do not provide or sell purchase codes, activation codes, license keys.
- You can download the product after the purchase by a direct link on your account page in the downloads section.


