Table of Contents
Overview
User Guide
- Landing Page
- Profile Page
- Home Page
- Create Event Page
- Calendar Page
- Message Page
- Administrative Page
Development
Community Feedback
Overview
Island Wanderer is the perfect website for University of Hawaii students who want to explore the islands of Hawaii with other students. The Hawaiian Islands have a lot to offer, from hiking to snorkeling to luaus to relaxing at the beach. However, sometimes it can be hard to organize a group of people to go explore these places. Island Wanderer is here to solve this problem. Students can form groups to go on adventures together, creating countless unforgettable memories while meeting new people along the way.
The developers of this website are current University of Hawaii students who are passionate about exploring the Hawaiian Islands and love to connect with people through adventuring. If you have any comments or questions, you can contact the developers through creating an issue on the GitHub site.
User Guide
Students are able to log into the website and are immediately taken to the home page, which shows postings from other students, starting with the most recent posting. Users can then filter the postings by tags - locations, dates, people, etc. Students will have the option to save posts, message the poster, or post something themselves. They can also comment on a post. Students will also have access to a personal calendar, which will hold all the events the student wants to attend. Two ways to add events to the calendar is through manually entering an event, or directly addiing an event from a post. Furthermore, students can start private messages with other students, should they have any specific questions about a post or activity. Because students don't have to "friend" other students to see their posts/directly message them, there will be the option to block certain students, should there be any issues.
Landing Page
The landing page of the website has a small bit of information about the website and allows UH students to log in.
Once students click the log in button, they are immediately prompted to log into the University of Hawaii System to verify their status as a student.
Profile Page
Once logged in, students are immediately taken to their profile page where they can enter their information. Students must enter their name and their email address. They can add other contact info such as facebook, slack, twitter, etc. to their account if they would like.
Home Page
Next students can go to their home page. Students can search for specific events or events with key words, which will show all new events containing that information. If they are interested, they can join an event.
Create Event Page
Also linked to the home pages are the add event page and report event page. If a student would like to organize and event, the can click the button to add a new event.
Or report an event/user.
Calendar Page
Next, students can check their personal calendar. If the student chooses to attend an event, it will show up on their calendar.
Message Page
Finally, students can then check their messages, which will show all messages from groups they are apart of.
Administrative Page
There is also an administrative page. Only the developers have access to this page. If the user signed is has also been assigned the role ‘admin’, they will be able to view this page, which will show any events that have been flagged. The administrator has access to delete, modify, or leave the event alone.
If the user logged in does not have administrative access, the page will show up as ‘Not Authorized’.
Development
Development History
In order to successfully create a working application, the building process was split into multiple tasks. The first task, Milestone 1, focused on building the foundation for the application. The second task, Milestone 2, focused on refining the foundation and increasing its functionality. Below document each task.
Milestone 1
Milestone 1's purpose was to create HTML/CSS mockups of each of the pages needed for the projects. They did not have to provide functionality, but had to be integrated into the Meteor app. Below are screenshots of the pages implemented.
Each page was assigned as an issue and was either branched and merged into the master branch, or directly committed into the master branch.
Milestone 2
Milestone 2’s purpose was to provide functionality to the mockup pages created in Milestone 1. Once each page was completed and functionality had been tested, the app was deployed to galaxy. See User Guide for instructions on app usage.
Developer Guide
Installation
In order to run Island Wanderer, Meteor needs to be installed. Once this process is finished, the user must download or clone a copy of Island Wanderer and cd into the app. Once the user is inside of the app, the user must install npm by running $ meteor npm install. Finally, once npm is correctly installed, the user can run the system by typing $ meteoer npm run start in the commmand promt and the app should appear on http://localhost:3000 if everything has been installed correctly.
Modification
Island Wanderer's basic structure is split into three categories: app, which holds the actual application, config, which configurates all the files, and .gitignore. For modificatation, most work will be done in the app directory. Within app, there are two subsections: client, which holds all information pertaining to the client side of the application, and imports. Most modification will be done in imports. Depending on what modification needs to be done depends on which subfolder the developer will need to access. If the developer is interested in adding another page to the application or altering one of the existing pages, they will need to cd into the ui section and acess the pages category. This will give them access to all html/css/js code for the existing pages. If the developer would like to edit the startup of the app, they will need to access the api folder and choose startup, and decide if they would like to edit the server side of the startup, the client side, or both. The entire system follows the Meteor 1.4 guidelines.If the developer adds or deletes any pages, they will need to also edit the client/main.js page in order to maintain working order. The developer may also need to edit the router page, which is responsible for the navigation throughout the app. The router page can be found in the imports/startup/client/router.js directory and uses Flow Router.
Island Wanderer uses Semantic-UI-Meteor for the webpage presentation. It is integrated in the app/client/lib/semantic-ui directory, and any edits to the presentation of the app can be made there.
Finally, in order to guarantee correct startup and code quality, Island Wanderer contains a configuration file, which holds the settings files. Furthermore, there is a directory, .gitignore, that allows developers to add settings that will not be committed. There is also a directory for initialization, which checks for empty databases and loads correct configuration files. These configuration tools, as well as all code provided for functionality, are checked for quality assurance by using ESLint, which is defined in the .eslintrc file.
Community Feedback
Because Island Wanderer is a user oriented app, community feedback is extremely important for the continual improvement of the app. Thereofore, five University of Hawaii students were asked to examine the app and provide constuctive criticism on what they liked about the app and what could be improved. All five students agreed they liked the simplicity of the layout. They appreciated having one top menu that gave access to every page within the app on every page, meaning they could jump from page to page without having to go back to the home page. Furthermore, they liked the ease of access to events and searching mechanisms. It was simple to search for what they were interested in as well as customize their own individual event. They also provided a few insights as to how to improve the app. They suggested adding more functionality to the calendar by letting users add events directly to a date instead of having to add an event through the home page. They also suggested that the administrated be given more power to search specific users or events, instead of waiting for a flag. Overall, the users liked the app and think it would be a great addition to the UH community.