Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TRULY — Real Estate Investment Platform

A full-stack real estate investment platform built with React and Express.js.

image image

Tech Stack

  • Frontend: React 18, Redux Toolkit, Vite
  • Backend: Express.js, PostgreSQL, Nodemailer
  • Deployment: Heroku

Prerequisites

Setup

1. Clone the repository

git clone https://github.com/zemar/zenbit_task.git
cd zenbit_task

2. Install dependencies

# Frontend
npm install

# Backend
cd backend
npm install

3. Configure environment variables

cp backend/.env.example backend/.env

Edit backend/.env with your values:

PORT=3000
CORS_ORIGIN=http://localhost:5173
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=your_password
DB_NAME=zenbit
GMAIL_USER=your_email@gmail.com
GMAIL_PASS=your_app_password

4. Create the database

psql -U postgres -c "CREATE DATABASE zenbit;"

Tables are created automatically on server startup.

5. Run the app

# Terminal 1 — Backend
cd backend
npm start

# Terminal 2 — Frontend
npm run dev

Features

  • User registration and login
  • Password recovery via email
  • Responsive design (mobile, tablet, desktop)
  • Real estate deal listings
  • Deal application form (pre-fills user data when logged in)
  • Session persistence across page refreshes

Project Structure

zenbit_task/
├── public/assets/        # Images (hero, deal cards, login background)
├── src/
│   ├── components/       # Login, SignUp, ForgotPassword, ApplyModal
│   ├── features/         # Redux slices (authSlice, dealsSlice)
│   ├── App.jsx           # Main app with routing and layout
│   ├── app.css           # All styles
│   ├── store.js          # Redux store
│   └── main.jsx          # Entry point
├── backend/
│   ├── src/index.js      # Express server, routes, DB setup
│   ├── .env.example      # Environment variables template
│   └── package.json
├── Procfile              # Heroku process file
├── vite.config.js        # Vite config with dev proxy
└── package.json

API Endpoints

Method Endpoint Description
POST /users Register a new user
POST /login Login with email/password
POST /forgot-password Send password to email
POST /applications Submit a deal application
GET /applications List all applications
GET /applications/:id Get one application

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages