Smart India Hackathon 2025 Project 🇮🇳
A comprehensive temple guide application built with MERN stack, TypeScript, and shadcn/ui, developed as part of Smart India Hackathon 2025.
This project is being developed for Smart India Hackathon 2025, focusing on creating a digital platform to promote India's rich spiritual and cultural heritage through temple exploration and management.
- React with TypeScript
- Vite for bundling
- Tailwind CSS
- shadcn/ui components
- React Router
- Axios for API calls
- Node.js + Express.js (TypeScript)
- MongoDB with Mongoose
- JWT for authentication
- Cloudinary for image storage
- Google Maps API
- i18n for multilingual support
- Authentication: JWT-based with role-based access (user, admin, temple manager)
- Google OAuth: Social login with Google accounts
- Temple Management: Complete CRUD with temple claim workflow
- Search & Discovery: Search by location, deity, filters with map view
- Temple Details: Comprehensive information with reviews and photos
- Community: User reviews and photo contributions
- Admin Dashboard: Complete management system
- Node.js (v18+)
- MongoDB
- npm or yarn
- Clone the repository
git clone <repository-url>
cd DivyaYatri- Install server dependencies
cd server
npm install- Install client dependencies
cd ../client
npm install-
Set up environment variables (see .env.example files)
Important: For Google OAuth functionality, follow the Google OAuth Setup Guide
-
Start development servers
# Terminal 1 - Server
cd server
npm run dev
# Terminal 2 - Client
cd client
npm run devDivyaYatri/
├── server/ # Express.js backend
│ ├── src/
│ │ ├── models/ # Mongoose schemas
│ │ ├── routes/ # API routes
│ │ ├── controllers/
│ │ ├── middleware/
│ │ └── utils/
│ └── server.ts
├── client/ # React frontend
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── hooks/
│ │ ├── context/
│ │ └── utils/
│ └── main.tsx
└── README.md
NODE_ENV=development
PORT=5000
MONGODB_URI=mongodb://localhost:27017/divyayatri
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
GOOGLE_MAPS_API_KEY=your_google_maps_key
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
VITE_API_URL=http://localhost:5000
VITE_GOOGLE_MAPS_API_KEY=your_google_maps_key
VITE_GOOGLE_CLIENT_ID=your_google_client_id
This project is licensed under the MIT License.