MbendeStay is a full-stack, Airbnb-inspired rental platform designed specifically for the Cameroonian market. It connects landlords with potential tenants through a modern, intuitive interface featuring advanced search, robust filtering, and a seamless user experience.
- Advanced Property Search: Filter listings by city, price range, number of bedrooms/bathrooms, and property type.
- Interactive Map View: Visualize property locations for easier decision-making.
- Favorites System: Save interesting properties for later review.
- Responsive Design: Seamless experience on desktop, tablet, and mobile devices.
- Streamlined Listing Management: Intuitive dashboard to add, edit, and manage property listings.
- High-Quality Media Upload: Support for multiple high-resolution images and virtual tours.
- Booking & Inquiry Management: Centralized hub to handle tenant communications and booking requests.
- Type-Safe Full-Stack: Built end-to-end with TypeScript for superior reliability and developer experience.
- Modern Build Tooling: Leverages Vite for lightning-fast development and builds.
- Performance Optimized: Code splitting, lazy loading, and optimized images for rapid page loads.
- Secure Authentication: Robust auth system protecting user data and transactions.
MbendeStay is built on a modern, scalable JAMstack architecture.
Frontend (Client):
- React 18 with TypeScript
- Vite for build tooling and dev server
- Tailwind CSS for utility-first styling
- Shadcn/UI for accessible, customizable components
Backend (Server):
- Node.js with Express.js or Hono
- TypeScript for type safety
- PostgreSQL with Drizzle ORM for robust data management
- JWT-based Authentication for secure sessions
Development & Deployment:
- Drizzle ORM for type-safe database interactions
- GitHub Actions for CI/CD (optional)
- Vercel/Netlify for frontend deployment
- Railway/Render for backend deployment
- Node.js 18+
- PostgreSQL 12+
- npm or yarn
-
Clone the repository
git clone https://github.com/CHAFAH/mbendestay.git cd mbendestay -
Install dependencies
# Install root dependencies (if any) npm install # Install client dependencies cd client npm install # Install server dependencies cd ../server npm install
-
Set up environment variables
# Create environment files cp .env.example .envUpdate the
.envfile with your database connection and other secrets:DATABASE_URL="postgresql://username:password@localhost:5432/mbendestay" JWT_SECRET="your-super-secret-jwt-key" -
Set up the database
# Run database migrations npm run db:push # or npx drizzle-kit push
-
Start the development servers
# Start the backend server (from /server directory) npm run dev # Start the frontend server (from /client directory in a new terminal) npm run dev
-
Open your browser Navigate to
http://localhost:5173to view the application.
# Run frontend tests
cd client
npm run test
# Run backend tests
cd ../server
npm run testThe MbendeStay API provides endpoints for:
GET /api/properties- Retrieve properties with filtering optionsPOST /api/properties- Create a new property listing (authenticated)GET /api/properties/:id- Get a specific propertyPOST /api/auth/login- User authenticationPOST /api/auth/register- User registration
For detailed API documentation, see the API Docs.
- Connect your GitHub repository to Vercel
- Set build command:
cd client && npm run build - Set output directory:
client/dist - Add environment variables for API endpoints
- Connect your GitHub repository to Railway
- Set root directory to
/server - Add environment variables for database and secrets
- Deploy automatically on git push
A cloud PostgreSQL provider like Neon.tech, Supabase, or Railway PostgreSQL is recommended for production.
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.
- Inspired by the need for modern rental solutions in Cameroon
- Shadcn/UI for the excellent component library
- Vite team for the fantastic build tool
- Drizzle ORM for type-safe database interactions
Absolutely. Here is the contact section formatted exactly like the previous one, tailored for your MbendeStay project.
Sani Chafah - prsan@nebulancesystems.com
Project Link: https://github.com/CHAFAH/mbendestay
⭐ Star this repo if you found it useful!