Find & Host Parties around you on an interactive google maps interface. Filter by Genre, date, change themes and search for locations all over the world. Find out where the biggest party is happening in a genre of your choice, on a day you prefer. No more endless searching on Facebook Events, dodgy websites, PARTY FORECAST is all you will ever need.
You can find a prototype of this App here
The Frontend and Backend are hosted on one Heroku Dyno, the database is served from the MongoDB Atlas Cloud.
Create a Party for free with the basic details such as venue, genre of music, name of the artists performing, link to social media and also upload images of the event for potential party-goers
Search any location on the interactive google maps interface, find out more details by clicking on the marker and vote if you're going to the party or not. The most popular parties have the biggest icons making it easy for the user to decide.
The App was built by me within the space of a week.
Click on the thumbnail below to see the presentation:
- Clone the repo and open in your code editor of choice
git clone https://github.com/MohammedAK1991/PARTY-FORECAST.git
- Install dependencies
cd src
npm install
cd server
npm install
- Run MongoDB locally
brew services start mongodb-community (for MAC + mongoDB-community)
sudo service mongodb start(for WINDOWS)
- In the root, create a .env.local file with the following variables:
REACT_APP_GOOGLE_MAPS_API_KEY= <your api key goes here>
REACT_APP_CLOUDINARY_NAME= <your cloudinary collection name goes here>
- In the server folder, create a .env file with the following variables:
CLOUDINARY_API_KEY= <your api key goes here
CLOUDINARY_API_SECRET= <your cloudinary secret code goes here>
CLOUDINARY_NAME= <your cloudinary collection name goes here>
- Start the application on localhost
cd src
npm run start:client
For this demo to work, please create a Google Map API Key (you will need to enable billing) and ensure that the two services below are enabled... otherwise it won't work!
- Maps JavaScript API
- Places API
- Geocoding API
This API key must be in a .env.local file
REACT_APP_GOOGLE_PLACES_API_KEY
. Furthermore you will also need to get an API key (along with secret code and collection name) from Cloudinary And finally, you will also need to apply for credentials to authorize Google OAuth2.0 and get a clientId from there. Please check the .env.local.example file in the src folder and .env.example file in the server folder to see what it should look like
- Extensive testing (>70% Coverage) with Jest and Jasmine
- Add functionality to get directions to a location within the map
- Improve handling of edge cases for better efficiency
- Fix minor CSS glitches
- Complete responsiveness on mobile platforms
Improvements are welcome 🙂
Fork the repo and do your thing. Push to your fork and submit a pull request.