A modern web application for finding and posting rental sublets made for students at the University of Waterloo. Users can browse listings, save favourites, post their own rentals, and communicate with other users.
- Browse Listings: Search and filter rental sublets by location, price, amenities, and move-in/out dates
- Post Listings: Create and manage your own rental listings with photos and detailed descriptions
- Save Favourites: Bookmark listings you're interested in
- Messaging: Communicate directly with listing posters and interested renters
- Notifications: Real-time updates on inquiries and messages
- User Dashboard: Manage your profile, listings, and saved properties
- Authentication: Secure user registration and login
- Frontend: Next.js 14, React, TypeScript, Tailwind CSS
- Backend: Next.js API Routes
- Database: PostgresSQL, Drizzle ORM, Supabase
- Authentication: Supabase Auth
- Icons: Lucide React
sublet-centre/
├── app/
│ ├── api/ # API routes
│ ├── auth/ # Authentication pages
│ ├── dashboard/ # User dashboard
│ ├── listings/ # Listing detail pages
│ ├── messages/ # Messaging interface
│ ├── notifications/ # Notifications page
│ ├── post-listing/ # Create/edit listings
│ ├── saved/ # Saved listings page
│ └── page.tsx # Home page
├── components/
│ ├── dashboard/ # Dashboard components
│ ├── home/ # Home page components
│ ├── layout/ # Layout components (Header, Footer)
│ └── listings/ # Listing components
└── lib/ # Utilities and helpers
GET /api/listings- Get all listingsGET /api/listings/[id]- Get a specific listingPOST /api/listings- Create a new listingPUT /api/listings/[id]- Update a listingDELETE /api/listings/[id]- Delete a listing
GET /api/messages- Get all messagesPOST /api/messages- Send a message
GET /api/notifications- Get all notificationsDELETE /api/notifications/[id]- Delete a notification
- Browse available listings on the home page
- Use the search bar to filter by location or amenities
- Save listings you're interested in to your saved list
- Click a listing to view details and contact the poster
- Message posters directly to inquire about availability
- Sign up and navigate to "Post Listing"
- Fill in rental details (price, dates, amenities, photos)
- Manage your listings from the dashboard
- Respond to inquiries from interested renters
- Receive notifications when users contact you
- Real distance calculation based on user location
- Map integration for listing locations
- Payment processing for listings
- User ratings and reviews
- Advanced filtering options
- Image gallery improvements
- Email notifications
Contributions are welcome! Please feel free to submit a Pull Request.
For issues and questions, please open an issue on the GitHub repository.



