Skip to content

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏛️ Gemarse Estate

A luxury real estate rental and property management platform.
Designed with modern architecture, premium UI/UX, and enterprise-grade full-stack technologies.

Next.js TypeScript Express.js PostgreSQL AWS Mapbox Redux Toolkit License

🌐 Live Demo

https://main.d2mesgux8km4a1.amplifyapp.com/


image


✨ Highlights

  • 🏡 Luxury real estate rental platform
  • 🗺️ Interactive Mapbox property search
  • 🔐 Secure authentication with AWS Cognito
  • 👥 Role-Based Access Control (RBAC)
  • ❤️ Favorites & rental applications
  • 🏢 Property management dashboard
  • 📱 Fully responsive across devices
  • ☁️ AWS cloud integration
  • ⚡ Built with Next.js 15 & Express.js

📖 About the Project

Gemarse Estate is a full-stack luxury real estate rental platform built to demonstrate modern web application architecture while delivering a premium user experience.

The platform provides an elegant experience for Tenants searching for rental properties and Property Managers managing listings, applications, and residents.

Beyond showcasing beautiful UI/UX, the project emphasizes scalable architecture, cloud integration, secure authentication, interactive mapping, and maintainable code organization.


🚀 Features

🏡 Property Discovery

  • Interactive Mapbox property search
  • Advanced filtering by location, price, size, and amenities
  • Responsive browsing experience

❤️ Tenant Experience

  • Save favorite properties
  • Submit rental applications
  • Manage profile information
  • Track rental history

🏢 Property Management

  • Create, edit, and delete property listings
  • Review tenant applications
  • Manage tenants and property assignments
  • Dashboard overview

🔐 Authentication & Security

  • AWS Cognito Authentication
  • JWT Authorization
  • Role-Based Access Control (RBAC)
  • Protected routes
  • Secure API endpoints

🏗 Architecture

                     Next.js Client
                           │
                   RTK Query / REST API
                           │
                    Express.js Server
                           │
          ┌────────────────┴────────────────┐
          │                                 │
     PostgreSQL (Prisma)              AWS Services
                                      ├── Cognito
                                      └── S3

🛠 Tech Stack

Frontend Backend Cloud & Services
Next.js 15 Express.js AWS Amplify
TypeScript PostgreSQL AWS Cognito
Tailwind CSS Prisma ORM AWS S3
Redux Toolkit JWT Authentication Mapbox
RTK Query REST API
Shadcn UI
Framer Motion

🎯 Why I Built This

Gemarse Estate was built to simulate a production-ready real estate platform while demonstrating modern full-stack development practices.

The project focuses on:

  • Premium UI/UX design
  • Enterprise-style architecture
  • Secure authentication
  • Cloud integration with AWS
  • Interactive map experiences
  • Responsive design
  • Scalable backend architecture

⚡ Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL
  • AWS Account (Cognito & S3)
  • Mapbox API Key

Installation

Clone the repository.

git clone https://github.com/gerardsegismundo/gemarse-estate.git

cd gemarse-estate

Install dependencies.

npm install

cd client
npm install

cd ../server
npm install

Environment Variables

Client

NEXT_PUBLIC_API_BASE_URL=http://localhost:8000
NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN=your_mapbox_token

Server

PORT=8000

DATABASE_URL=postgresql://...

JWT_SECRET=your_secret

AWS_REGION=us-west-2
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...

S3_BUCKET_NAME=...

Database

cd server

npx prisma migrate dev

npx prisma db seed

Run the Application

Development mode.

npm run dev

Or separately.

npm run dev:client

npm run dev:server

Client

http://localhost:3000

Server

http://localhost:8000

📁 Project Structure

client/
│
├── src/
│   ├── app/
│   ├── components/
│   ├── hooks/
│   ├── lib/
│   ├── state/
│   └── types/
│
└── public/

server/
│
├── src/
│   ├── controllers/
│   ├── middleware/
│   ├── routes/
│   ├── services/
│   └── prisma/

📡 API Overview

Endpoint Description
GET /properties Retrieve properties
POST /properties Create listing
GET /applications View applications
POST /applications Submit application
PUT /applications/:id/status Update application
GET /tenants/:id Tenant profile
GET /managers/:id Manager profile

📜 License

Licensed under the ISC License.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages