GithubHelp home page GithubHelp logo

inkedinlove / volcano Goto Github PK

View Code? Open in Web Editor NEW

This project forked from unidade/home-away

0.0 0.0 0.0 3.64 MB

Home Page: https://homeaway-unidade.vercel.app/

JavaScript 3.09% TypeScript 72.07% CSS 0.06% HTML 24.77%

volcano's Introduction

HomeAway

screenshot

Description

HomeAway is a Airbn-like application that was created with a range of powerful technologies including NextJS, NextAuth, TailwindCSS, Prisma, and Supabase. It boasts a variety of features that make it easy for users to login or signup with their Google account or using magic links. You can save your favorite houses and even list your own property on the platform. Each house has its own dedicated page that is generated at build time using dynamic routing, thanks to NextJS' getStaticPaths and getStaticProps functions.

Prisma serves as a bridge between the application and our cloud-based PostgreSQL server, while Supabase helps us host images in a static bucket and provide the database for the application. Overall, the webapp is designed to provide a seamless and intuitive experience for users.

I have dedicated a significant amount of time to improving the SEO, boosting performance, and making the design responsive. As a result, I was able to achieve a score of 100 on Lighthouse for the website.

lighthouse screenshot

Getting Started

You can deploy locally or visit the Live Demo

First, install the dependencies:

npm install

Now you can start the development server:

npm run dev

You can create a production build with:

npm run build

To start the production build execute:

npm start

Key Features

  • The initial images and descriptions were gathered from the Unsplash API and added to the database.
  • Skeleton UI while the page is loading
  • User authorization and authentication is handled by NextAuth, which allows users to sign in with their Google account or via magic links sent to their email address.
  • Dynamic routing is implemented for each base, with the ability to pre-render routes at build time or regenerate them at runtime for new listings.
  • Logged-in users can list their house and add it to the Supabase database via the '/create' path. The site will then update with the new data.
  • Users can favorite houses and view their favorites on the '/favorites' path. They can also view all of their own listed houses on the '/homes' path.
  • All users can view the index page and the individual page for each house.
  • To protect user data, pages are restricted so that users can only view their own favorites houses and listed houses.
  • When creating a new listing, users can upload an image, which will be stored in a Supabase bucket and referenced in the PostgreSQL database.
  • TypeScript and Prisma are used to ensure type safety during development, helping to prevent errors and improve the overall quality of the application.

volcano's People

Contributors

unidade avatar inkedinlove avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.