Table of contents
About UH Manoa Club Hub
UH Manoa Club Hub is a Meteor application Organizing Clubs for University of Hawaii at Manoa. When you come to the site, you’ll come to a landing page:
From the landing page, you can easily access the login page, shown below, by clicking on the login button. Everyone with a UH account can login.
This web application is featured with three different users, the students, the club administrator and the website administrator. And different authorization goes to different users. When you log in as a student, you will go to your student homepage (shown below). On top of the page, it will list all the clubs, which you are in. It’s then followed by the comming events of your clubs.
By clicking the “Browse Clubs” tab on the Menu of student homepage, you will go to club List page (shown below), which will contain all clubs available in University of Hawaii at Manoa. And this page is feaured with a interest search at the top of the page.
If you login with a club administrator’s account, you will go to the founder’s admin page, shown below. This page is a channel where you can access all the clubs you created. And it will also allow you to create a new club by clicking on the card, with “+” sign in it.
The following is the create club page. To create a club, you simply need to fill in all the required information and then click submit.
To modify the information of an existing club, you can click on the edit button on the bottom of the club card.And it will look like this:
This page will show the events you’ve created, followed by your club info. To modify the events, you can simply click on the event card, then it will lead you modify event page. To create a event, you click at the card with “+” in it, and it will take you to a separate page which allow you to add more events.
The create event page and edit event page are both shown below:
To have a better control of the website, someone can log in with a site administrator login. this type of user can go the site admin page, shown below. And they will have the authority to hide or delete a club.
Installation
-
clone UH Manoa Club Hub project using git.
-
cd into the app/ directory and install libraries with:
> meteor npm install
- run the system with:
> meteor npm run start
If you successfully run it, you will see the following in your prompt.
And the application will appear at http://localhost:3000.
Application Design
Directory structure
This App is designed with meteor 1.4. And we also follow the Meteor 1.4 Application Structure guideline, for which we used an import/ directory in the app/ directory to hold our code. The structure of the app/ directory are shown below.
client/
lib/ # holds Semantic UI files.
head.html # the <head>
main.js # import all the client-side html and js files.
imports/
api/ # Define collection processing code (client + server side)
club/
event/
startup/ # Define code to run when system starts up (client-only, server-only)
client/
server/
both/
ui/
layouts/ # Layouts contain common elements to all pages (i.e. menubar and footer)
pages/ # Pages are navigated to by FlowRouter routes.
stylesheets/ # CSS customizations, if any.
node_modules/ # managed by Meteor
private/
database/ # holds the JSON file used to initialize the database on startup.
public/
images/ # holds static images for landing page and predefined sample users.
server/
main.js # import all the server-side js files.
Development History
Milestone 1
The goal of Milestone 1 was to create mockup HTML pages for the various pages that will be a part of UH Club Hub.
Milestone 1 consisted of 10 issues, and was managed via the uhclubhub GitHub Project M1..
And we also use projects feature on github to do the progress management.
So when ever we have an added issue, we will add it in the “Backlog” column, when we are working on a issue, we add it to the “In Progress” column, and when we are done, we close it and add it to the “Done” column. This keep our progress organized. By knowing what is done and who is working on what, it will be easier for the members to decide what to do first.
The pages we created for this milestone includes:
-
Landing Page
-
Login Page
-
Home Page
-
Create Club Page
-
Edit Club Page
-
Create Event Page
-
Edit Event Page
Milestone 2
Milestone 2 was started on April 13, 2017 and ends on April 25, 2017. The goal of Milestone 2 is to finish unfinished mockup pages and improve already existing ones, implement UH CAS authentication, and create the Collection for the Clubs. The Gitbub issue page of this mile stone is shown here. And it’s progress is being managed here.
The mockup pages created includes:
-
List Club Page
-
Site admin Page
-
Club Admin Page
-
UH CAS Test Authentication
-
Creation of Club collection
In this issue, we
- created the club collection in /imports/api/.
- create an initialization file, club.js in /imports/startup/server/
- modified the browse-club-page.html and browse-club-page.js to link the content from collection, and allow the club in the database to show up iteratively.
Milestone 3
Milestone 3 was started on April 27, 2017 and ends on May 9, 2017. And at the end of this mileston, we’ve accomplished the following:
- create the database for user profiles.
-
create interest collection to implement sorting based on interest
I updated the broseclub page so that it allows the user to filter out the clubs based on interest. The filter works when the user choose an interest in the interest list. And it will filter automatically when user release the mouse.
-
implement the add/edit fuctionality to allow us to database with a form, and the edit an existing document in database.
In this task, I updated both add-club-page and edit-club-page. I involked forms control from meteor-exaple-form. That has made create-club-page.html a lot cleaner. This create club page also chesk the content of the input to make sure they are right type, and to make sure that all the required fields are filled. With a submission, the site will switch to the brose club page automatically. And I also make sure that whenever a usre added a club, the content will showup in a ui card in the browse club page. Edit club page is similar to create club page, except that the club information was filled. At the top of the edit club page, there’s an additional event section. It contain all the events of this club. That means edit club also includes edit events. User can manage their events on Edit club page.
Milestone 3’s issues are assigned here. And the project progress is being managed here. At the end of the milston we’ve closed all of the previously designed issues, except issue 20, create/edit event. The following are the screenshots of the milestone 3 issues and project progress.
Initial User Testing
In order to do an initial user testing, I asked 5 students to test out my project. I didn’t tell them much about this website is about, since being self-explanatory should also be part of the testing. I told them to goto my host to check out the site and tell me about what they like or what could be improved. And the following are the responds from them.
Yunping (senior, major in Business):
“The layouts are nice, but I’m so consuded with what this site is about. I think you should have an About page, which can tell the user what this site provide us, and what we can do about it. “
Jinping (senior, major in Business):
” Join Club is not doing anything. More information about the club would be expected. “
Jipeng Huang (senior, major in computer Science):
“This app doesn’t seem to be well designed for mobile devices. I tried you link and image of the landing page was not well proportioned, and I can only see part of the menu. The homepage looks weird as well, and I cannot logout “
Lookuang (Senior, major in Art):
“I don’t exactly know what what this site provide me. You probably need a user guide. “
Haihong (Senior, major in Japanese):
“I wasn’t sure where the homepage was initialy. When I click on UH Manoa ClubHub in the menu, it was not found. I’m pretty sure it showed up when I’ve just login. “
In conclusion, user responds told us that we should complete the functionalities, and make sure every link works; we should improve our UI design to make sure they work well more mobile devices as well; and we need an userguide page at least for the first time users.
Galaxy Deployment
The link to our galaxy deployment is http://uhclubhub.meteorapp.com/