A modern travel discovery web application built with Next.js 16, React 19, HeroUI & Better Auth
π Backend Repo: wanderlust-server
Wanderlust is a full-stack travel discovery platform where users can explore destinations, plan trips, and share their travel experiences. Built with a modern decoupled architecture β Next.js frontend paired with a dedicated Express.js REST API backend.
- π User Authentication β Secure sign-up & login powered by Better Auth
- πΊοΈ Destination Discovery β Browse and explore travel destinations
- π€ User Profiles β Personalized user profile management
- π« Modern UI β Clean and responsive design with HeroUI components
- π± Fully Responsive β Mobile-friendly layout with Tailwind CSS v4
- β‘ Fast Performance β Next.js App Router with server-side rendering
| Category | Technology |
|---|---|
| Framework | Next.js 16.2.6 (App Router) |
| UI Library | React 19 |
| Component Library | HeroUI v3 |
| Styling | Tailwind CSS v4 |
| Authentication | Better Auth v1.6 |
| Database | MongoDB v7 |
| DB Adapter | @better-auth/mongo-adapter |
| Icons | React Icons, Gravity UI Icons |
wanderlust/
βββ public/ # Static assets
βββ src/
β βββ app/ # Next.js App Router pages & layouts
β β βββ api/ # Auth API routes
β β βββ ...
β βββ components/ # Reusable UI components
β βββ lib/ # Auth config & utilities
βββ next.config.mjs
βββ package.json
βββ tailwind.config.js
- Node.js
v18+ - MongoDB Atlas account
- npm / yarn / pnpm
- Backend server running β wanderlust-server
- Clone the repository
git clone https://github.com/Morshedul-developer/wanderlust.git
cd wanderlust- Install dependencies
npm install- Set up environment variables
Create a .env.local file in the root:
MONGODB_URI=your_mongodb_connection_string
BETTER_AUTH_SECRET=your_secret_key
BETTER_AUTH_URL=http://localhost:3000
NEXT_PUBLIC_API_URL=http://localhost:5000- Run the development server
npm run devOpen http://localhost:3000 in your browser.
| Script | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run start |
Start production server |
npm run lint |
Run ESLint |
Deployed on Vercel. To deploy your own instance:
- Push your code to GitHub
- Import at vercel.com/new
- Add environment variables in the Vercel dashboard
- Deploy!
Morshedul Islam Nijhum