Skip to content

Latest commit

 

History

History
171 lines (130 loc) · 5.97 KB

README.md

File metadata and controls

171 lines (130 loc) · 5.97 KB

ShareBnB

"Welcome to our outdoor oasis oasis! 🌞 Dive into a world where backyard barbecues and poolside parties await. Search and soak up the sun in the perfect outdoor space. Whether you're hosting a gathering or seeking a serene retreat, let the adventure begin right here! Start exploring your slice of outdoor heaven today. Let's make waves together! 🌊

Demo recording

View Demo
ShareBnB Backend Repo

Top Languages GitHub repo size GitHub code size in bytes GitHub last commit

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contact
  6. Acknowledgments

About The Project

Sharebnb is a space sharing app where hosts can list their backyard or pool spaces for rent by other users. ShareBnB utilizes a React frontend, includes a RESTful API to interface with Python-based Sharebnb Flask Backend, and integrates AWS S3 for file storage with a PostgreSQL database.

Learnings

This project offered learning opportunities around:

  • React component design
  • React state management and context
  • React Router
  • Seperation of concerns between frontend and backend
  • Building RESTful APIs
  • Relational database design and modeling
  • Form validation with JSON schemas
  • Test-driven development and coverage
  • Integrating AWS S3 services for secure file handling to reduce database load

Component Hierarchy Design

Component diagram Models diagram

(back to top)

Built With

Frontend:

  • React
  • React Router
  • Render

Backend:

  • AWS
  • ElephantSQL
  • Flask
  • PostgreSQL
  • Python
  • Render

(back to top)

Getting Started

To get a local copy up and running, please follow these steps.

  1. Follow the instructions for cloning and setting up the backend repo.
  2. In a new terminal, clone the frontend repo.
    git clone https://github.com/jgan21/shareBnB-React-frontend.git
  3. Install frontend dependencies.
    npm install
  4. Run the app in the development mode.
    npm start

Open http://localhost:3000 to view it in your browser.

(back to top)

Roadmap

  • Add authentication and authorization - [ ] Signup form - [ ] Login form
  • Incorporate test suite for authentication and authorization
  • Create a homepage
  • Add a "forgot password" feature
  • Add feature to allow users to like a property

(back to top)

Contact

LinkedIn

Project Link (Frontend): https://github.com/jgan21/react-jobly

Project Link (Backend): https://github.com/jgan21/jobly-backend

Live Demo: https://www.sharebnb.jiaronggan.com/

(back to top)

Authors

Acknowledgments

This project was completed at Rithm School in Feb 2024. Many thanks to Veronica Ni, and Rithm's staff team for their support!

(back to top)