About the project | Technologies | Getting started | How to contribute | License
Sunshine Attractions is a full-stack review application designed for theme parks in Florida, the Sunshine State. It provides tourists and locals with up-to-date information on rides, shows, and food options across various Florida theme parks. Users can track live wait times for rides and leave reviews about different attractions within the park.
A map feature is also in development, which will allow users to share their location within the park. Based on their proximity to rides and current wait times, users will receive personalized recommendations on which attractions to visit next.
Welcome to Sunshine Attractions, below you will find the home page that consists of various theme parks in Florida. Users have plenty of options to start exploring new attractions, food, and entertainment.
Discover rides, food, and shows at various theme parks. Dynamically renders information from the backend for each page.
This is what a user review looks like. Reviews show the user profile picture, along with their username, and star rating. You can see their thoughts about the specific attractions, food, or show in the description box. The review componets support likes, comments from other users, and comment likes / dislikes.
Filter reviews based on options such as: All reviews, Your reviews, Highest rated, Most critcal, and Recent reviews.
Delete your reviews and comments, and change your profile picture in the profile menu. (More features to be added).
View ride locations on the park map. (This feature will continue to be fleshed out, upcoming features include users being allowed to share their location on their park visit, then the users will be shown the closest rides to them with the lowest wait times).
Technologies that I used to develop this app
- Clone the files.
- Use 'npm i' in the console in order to install the dependencies.
- Create a
.env
file in config folder and add the following askey = value
- PORT = 2121 (can be any port example: 3000)
- DB_STRING =
your database URI
- CLOUD_NAME =
your cloudinary cloud name
- API_KEY =
your cloudinary api key
- API_SECRET =
your cloudinary api secret
- GOOGLE_MAP_API = 'Your google maps api key'
- GOOGLE_MAP_ID = 'Your google maps ID'
Install the dependencies: npm install
If you would like to contribute to this project please reach out to me via discord: chriscodes
Follow the steps below
0. Leave a comment on the issue you would like to work on
1. Fork the original repository (top right corner next to watch and star buttons)
2. Under the dropdown menu from the button "code" copy the HTTPS link (from your forked repository) 'https://github.com/(your username)/Sunshine-attractions.git'
3. In the place you want to clone the project, use git clone (your https link here)
4. Once you have the project open in VSCODE use 'git remote add upstream https://github.com/ChrisMunozCodes/Sunshine-attractions.git' in the terminal, this will track the main repository
5. You can now use 'git fetch upstream' in the terminal to see a list of the different branches.
6. Use 'git checkout -b branch-name' replace branch-name with your branch. This will create a new branch for you to work within
7.. You can now use git add . & git commit -m ''
8. Use 'git push -u origin a-descriptive-branch-name' replace a-descriptive-branch-name with your branch name (this will push all your code)
9. Now go back to your github and a button will appear that prompts you to make a pull request
Maps of theme parks with wait time markers and user geolocation (High Priority).- Lowest wait time rides near the user based on the users location within the theme park map. (High Priority).
Mobile Layout (Responsiveness for mobile layouts) (High Priority).- Following and followers feature (Med Priority).
- Trip Planner (Low Priority). - Fill out a personal calendar with different rides, food, and shows.
- Dark Mode? (Low Priority).
Comments.Filter reviewsLikes.Adding images to reviews.