Skip to content

πŸ’Ž Discover and share unique hidden gems from restaurants to photo spots on an interactive map, and rate others' recommendations

Notifications You must be signed in to change notification settings

braydonwang/Hidden-Gems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Logo

HiddenGems

Explore and contribute to a curated map of user-recommended hidden gems

About The Project

hidden-gems-demo.mp4

HiddenGems is a full-stack app designed for avid explorers and enthusiasts seeking undiscovered treasures within their cities or around the globe. Users can not only discover gems recommended by others, but also contribute their own treasured spots, whether it's a delectable eatery, a captivating photography backdrop, a unique entertainment venue, or a secret shopping store.

Features:

  • Interactive and immersive browsing experience using Google Maps API
  • Advanced search functionality to find gems based on location and category
  • Contribute by sharing your own secret discoveries to the community while adding your personal touch
  • Review and rate hidden gems posted by others
  • Security measures set by using JWT for authentication

Built With

This project was built with React and Tailwind CSS for the frontend, and Golang for the backend. PostgreSQL was used as the main database, Redis was used for caching, and AWS S3 for storing images.

  • React
  • Golang
  • Postgres
  • Redis
  • AWS
  • Docker
  • TailwindCSS

Getting Started

Follow these steps to set up the project locally. Make sure to have all the above technologies installed and updated to the latest version.

  1. Clone this repository
  2. Install required dependencies in root folder and client folder
npm install
  1. Start a local PostgreSQL container using docker
docker run --name postgres -e POSTGRES_PASSWORD=hiddengems -p 5432:5432 -d postgis/postgis
  1. Create a public AWS S3 bucket
  2. Create a .env file in the client folder with the following information:
REACT_APP_GOOGLE_MAPS_API_KEY=<your-google-maps-api-key>
REACT_APP_BUCKET_NAME=<your-s3-bucket-name>
REACT_APP_REGION=<your-s3-bucket-region>
REACT_APP_ACCESS=<your-s3-bucket-access-key>
REACT_APP_SECRET=<your-s3-bucket-secret-key>
GENERATE_SOURCEMAP=false
  1. Make sure redis server is running, or run this command to start it
redis-server

Inside Look

Screen Shot 2023-08-13 at 6 17 17 PM Screen Shot 2023-08-12 at 10 01 12 PM Screen Shot 2023-08-12 at 10 02 29 PM Screen Shot 2023-08-12 at 10 02 29 PM

Next Steps

  • Add review/rating system
  • Add links to major cities
  • Add page for users to see their own gems
  • Make app compatible for mobile view
  • Polish and deploy πŸš€

About

πŸ’Ž Discover and share unique hidden gems from restaurants to photo spots on an interactive map, and rate others' recommendations

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published