IsItOpen is a real-time, community-driven platform that helps users check if local businesses, banks, offices, and shops are currently OPEN or CLOSED.
Stop guessing and start knowing before you go!
- 🔍 Smart Search: Find places by name, category, city, or area. Supports natural queries like "Apollo Pharmacy at Indiranagar".
- ⚡ Real-Time Status: Get instant updates on whether a place is Open or Closed.
- 👥 Crowdsourced Updates: The community keeps data fresh by updating status in real-time.
- 📍 Map Integration: Pin precise locations using an interactive map (powered by Leaflet) when adding new places.
- 🛡️ Confidence Scoring: Smart backend logic detects conflicting updates to warn users if a status is uncertain.
- 📱 Responsive Design: Beautiful, mobile-first interface built with Tailwind CSS.
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS v4
- Backend: Hono (running on Next.js API Routes)
- Database: MongoDB (with Mongoose)
- Animations: Framer Motion
- Maps: React Leaflet
- Icons: Lucide React
Follow these steps to set up the project locally.
- Node.js (v18 or higher)
- npm or yarn
- A MongoDB Atlas account (or local MongoDB instance)
-
Clone the repository
git clone https://github.com/your-username/isitopen.git cd isitopen -
Install dependencies
npm install # or yarn install -
Configure Environment Variables Create a
.env.localfile in the root directory and add your MongoDB connection string:MONGODB_URI=mongodb+srv://<username>:<password>@cluster0.example.mongodb.net/?appName=Cluster0
-
Run the Development Server
npm run dev
Open http://localhost:3000 with your browser to see the result.
.
├── app/
│ ├── api/ # Hono backend API routes
│ └── ... # Next.js App Router pages
├── components/ # Reusable UI components
├── lib/
│ ├── db.ts # Database connection logic
│ └── models.ts # Mongoose data models (Place, Status)
├── public/ # Static assets
└── ...The backend is built with Hono and exposed via Next.js API routes at /api.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/health |
Check API status |
GET |
/api/search |
Search places (query params: q, city) |
GET |
/api/place |
Get single place details by id |
POST |
/api/places |
Create a new place |
POST |
/api/status |
Update status (OPEN/CLOSED) |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
