Skip to content
Technology

A modern TypeScript stack your developers already know

No proprietary framework and no encrypted files. Nodes Travels is a standard Next.js and Prisma application, so any competent web team can read, extend and maintain it.

The stack

LayerTechnologyWhy it matters
Web frameworkNext.js 16 (App Router), React 19 server componentsFast server-rendered pages that search engines can index
LanguageTypeScript throughoutSupplier responses and bookings are typed end to end
StylingTailwind CSS 4 with theme tokensThemes are data and CSS variables, not forked page copies
DatabasePrisma 6 ORM on SQLite or MySQLSQLite for local and small installs, MySQL for production
MobileExpo SDK 58, React Native, expo-routerOne codebase for iOS and Android
RuntimeNode.js 20 or newerRuns on shared Node hosting, a VPS or a container

Architecture choices that matter to an agency

Provider adapters

Each supplier sits behind a common provider interface, so adding or swapping a supplier does not touch the search pages.

Gateway router

Payment gateways share one adapter shape with failover and a circuit breaker, so a failing gateway is skipped automatically.

One app, many surfaces

Website, admin, B2B channel, public API and mobile API all live in the same Next.js project and share one database.

Settings in the database

Branding, homepage, themes, promos and SEO live in database settings, so most changes need no redeploy.

Security built in

  • Revocable database-backed sessions
  • TOTP two-factor sign-in for admins
  • Optional Cloudflare Turnstile CAPTCHA on public forms
  • Database-backed rate limits and per-customer booking caps
  • API keys for partners stored hashed, never in plain text
  • Signed one-time links for app-to-web checkout handoff

Frequently asked questions

Can we move from SQLite to MySQL later?

Yes. The schema is written to work on both. Switch the Prisma provider to mysql, set DATABASE_URL and run prisma db push against the new database.

Is the code obfuscated?

No. It is ordinary TypeScript you can read and modify. Only the licence check verifies that the key matches the domain.

Do we need a separate API server?

No. The supplier calls, payment webhooks, partner API and mobile API are Next.js route handlers inside the same app.

Check the hosting you will need

See server requirements, then read the install guide.

Keep exploring