A modern, responsive web application designed specifically for Manipal University Jaipur students and visitors. It provides comprehensive campus navigation with real-time location tracking, interactive maps, and smart routing for seamless campus exploration and enhanced student experience
- 🗺️ Interactive Campus Map - Explore MUJ campus with detailed, interactive mapping
- 📍 Real-time Location Tracking - Know exactly where you are on campus
- 🧭 Smart Navigation - Get optimal routes to your destination
- 🎯 Points of Interest - Discover important campus locations easily
- 📱 Mobile Responsive - Access from any device, anywhere on campus
- 🌙 Theme Support - Dark and light mode for comfortable viewing
Ensure you have the following installed:
- Node.js (v18.0.0 or higher)
- pnpm (recommended) or npm
- Git
-
Clone the repository
git clone https://github.com/Samarth2190/MUJ-UniWay.git cd MUJ-UniWay -
Install dependencies
pnpm install # or npm install -
Set up environment variables
cp .env.local.example .env.local
Update the
.env.localfile with your configuration values. -
Initialize the database
# Run the SQL scripts in order pnpm db:setup -
Start the development server
pnpm dev # or npm run dev -
Open your browser Navigate to
http://localhost:3000to see the application running! 🎉
- ⚛️ Next.js 14 - React framework for production
- 🔷 TypeScript - Type-safe JavaScript
- 🎨 Tailwind CSS - Utility-first CSS framework
- 📱 Responsive Design - Mobile-first approach
- 🟢 Node.js - JavaScript runtime
- 🗄️ Neon PostgreSQL Database - Structured data storage
- 🔗 API Routes - Next.js API endpoints
- 📦 pnpm - Fast, disk space efficient package manager
- 🔧 PostCSS - CSS transformation tool
- 📋 TypeScript Config - Strict type checking
- 🎯 ESLint & Prettier - Code quality and formatting
- 🌍 Geolocation API - Real-time positioning
- 🗺️ Interactive Maps - Custom mapping solution
- 📊 Location Analytics - User interaction tracking
MUJ-UniWay/
├── 📂 app/ # Next.js 14 App Router
│ ├── 🔐 admin/ # Admin panel pages
│ ├── 🛠️ api/ # API endpoints
│ ├── 🎨 globals.css # Global styles
│ ├── ⚙️ layout.tsx # Root layout
│ ├── 🔄 loading.tsx # Loading UI
│ └── 📄 page.tsx # Home page
├── 📂 components/ # Reusable UI components
│ ├── 🧩 ui/ # Base UI components
│ ├── 🗺️ campus-map.tsx # Interactive campus map
│ ├── 📍 location-tracker.tsx # Location tracking
│ └── 🎨 theme-provider.tsx # Theme management
├── 📂 hooks/ # Custom React hooks
│ ├── 📱 use-mobile.ts # Mobile device detection
│ └── 🍞 use-toast.ts # Toast notifications
├── 📂 lib/ # Utility libraries
│ ├── ⚡ actions.ts # Server actions
│ ├── 🗄️ db.ts # Database connection
│ ├── 🌍 geolocation.ts # Geolocation utilities
│ ├── 🧭 navigation.ts # Navigation logic
│ └── 🛠️ utils.ts # General utilities
├── 📂 scripts/ # Database setup scripts
│ ├── 🏗️ 001-create-tables.sql
│ ├── 🌱 002-seed-data.sql
│ ├── 📍 003-add-coordinates.sql
│ └── 🏛️ 004-manipal-jaipur-data.sql
└── 📂 styles/ # Styling files
└── 🎨 globals.css # Global CSS styles
| Command | Description |
|---|---|
pnpm dev |
🚀 Start development server |
pnpm build |
🏗️ Build for production |
pnpm start |
|
pnpm lint |
🔍 Run ESLint |
pnpm db:setup |
🗄️ Initialize database |
pnpm type-check |
🔷 Run TypeScript checks |
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
If you encounter any issues or have questions:
- 🐛 Bug Reports: Create an Issue
- 💡 Feature Requests: Start a Discussion





