A modern admin dashboard for managing eSIM platform operations, built with Next.js 15, TypeScript, and Tailwind CSS.
- Country Management: Display and manage eSIM availability across different countries organized by continents
- Package Management: View and manage eSIM packages with real-time pricing
- Price Management: Full CRUD operations for setting and managing selling prices
- Currency Integration: Real-time USD to MNT conversion using Khanbank API
- Responsive Design: Mobile-first responsive design with modern UI components
- Popular Countries: Quick access to frequently used countries
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- Icons: Lucide React
- HTTP Client: Axios (for currency API), Fetch API (for other endpoints)
- Backend: Integration with mongoliansgo.hustler.mn API
- Countries API:
https://mongoliansgo.hustler.mn/api/roamwifi/get-sku-list-continent - Packages API:
https://mongoliansgo.hustler.mn/api/roamwifi/get-packages - Price Management:
https://mongoliansgo.hustler.mn/api/user/page/price - Currency API:
https://api.khanbank.com/v1/rates
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd esim-admin- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
npm run build
npm startsrc/
├── app/
│ ├── api/countries/ # API route for countries data
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page
├── components/
│ ├── AdminLayout.tsx # Main admin layout wrapper
│ ├── CountriesList.tsx # Countries display and navigation
│ └── PackagesView.tsx # Package management with pricing
└── types/
└── country.ts # TypeScript type definitions
- Displays countries organized by continents
- Popular countries section for quick access
- Country selection and navigation
- Package details display
- Real-time currency conversion
- Price setting modal with CRUD operations
- Selling price management
- Responsive sidebar navigation
- Header with notifications
- Consistent layout wrapper
This project is optimized for deployment on Vercel:
- Push your code to GitHub
- Connect your repository to Vercel
- Deploy automatically with zero configuration
Alternatively, you can deploy using Vercel CLI:
npx vercel --prodNo environment variables are required for basic functionality. All API endpoints are configured to use public APIs.
- Use TypeScript for all components and utilities
- Follow Next.js App Router conventions
- Use Tailwind CSS for styling
- Implement proper error handling for API calls
- Use modern React patterns (hooks, functional components)
- Keep components modular and reusable
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is private and proprietary.