Volunteering platform for matching small neighborhood volunteering opportunities with volunteers. Features include the ability to search for volunteer opportunities, to sign up for opportunities, and post volunteer opportunities.
| Story | Tasks | Who | Status |
|---|---|---|---|
| View Volunteer Event | Create Event detail page to show to User - HW6 remainder | Nathan | Complete |
| Locational Search | Create Map page to view local events on a map, Link Mapped events to Event Detail page built above - HW6 remainder | Nathan | Complete |
| Search for Skilled Volunteers | Create Web Page to show list of hyperlinked volunteers, Create Volunteer detail page (if we need one?) | HW6 remainder | |
| Volunteer Event Linkage | Create Add “volunteer” button to Event detail page, Create many-to-many relationship table between volunteers and events, Volunteer button adds relationship to above table | Casey, Sarah | |
| Category Search | Create MySQL Table of Categories, Add Category ID attribute as a foreign key to the Event Manager table, Create category query, Create web page to show list of hyperlinked event managers, Create event manager detail page | Aaron | Complete |
| Browse Results | Create page to display search query results, Use google map API to insert map, List hyperlinked results on page after map | Nathan, Tanya | Complete |
| Browse Volunteers** | Create query to get attribute information of volunteer, Create page to display attribute information | Aaron | Complete |
| Browse Hosts** | Create query to get attribute information of event manager, Create page to display attribute information | Aaron, Tanya | Complete |
| Post Event | Create page with forms to enter in event information, Create a new Event in the Event Table with an associated Event Manager ID added as a foreign key | Sarah | Partial |
| Delete Event** | Create delete button on my events page, Create query to delete event from Event Table, Create success page to read and display query result |
This is what was completed last time around...
| Story | Tasks | Who | Status |
|---|---|---|---|
| View Volunteer Event | Create MySQL Table of Events, Create Queries to Extract Event Results, Create Web Page to Show list of hyperlinked results, Create Event Detail page to show to User | Nathan, Tanya | Draft MySQL portions posted, Still need to create list of events page, Event detail page created |
| Locational Search | Create homepage, Add Lat Long to Event Table, Create Filter by geography query, Link geofilter to events query built above, create map page to view local events on a map, Link Mapped events to event detail page built above | Nathan, Casey, Tanya, Aaron | Homepage created, Lat/Long added to table, Geography filter created |
| Search for skilled volunteers | Create table of volunteers, Create table of skills, Many-to-many relationship table, Create skills query, Create web page to display list of qualified volunteers | Aaron, Casey, Sarah, Nathan | Table of volunteers created, Table of skills created, Skills Query created |
--Using a Terminal--
- Create a directory on you local machine where you want to store the code files.
- Navigate to inside that directory using your terminal.
- Go to the github page for the repository you want to download.
- Click on clone or download and copy the link to you clipboard
- In your terminal type in git clone and paste the results. For instance: git clone https://github.com/natez56/CS361Project.git
- You should now have all the repository files on your computer.
--Helpful Git commands--
- Use git status to check if your files are up to date with the ones online.
- Use git pull to replace your local files with the ones online.
--MySQL--
- Download the MySQL community edition.
- Install
- Create a new schema in the connected server
- Select your new schema under schemas in the left side.
- Run Queries to set up your tables and populate them.
--Node, Express, Handlebars
- On your local machine type sudo apt-get install nodejs
- then sudo apt-get install npm
- Then: npm install express
- Then: npm install express-handlebars
- Then: npm install mysql
--Node with MySQL
- Open the dbcon.js file
- Under host write localhost
- For user you'll want to check in MySQL what the user for your database is listed as. Might just be root.
- Type your password for your MySQL user account.
- Under database enter the name of the schema you want to access.
--Google Maps JS API--
- Follow the guide here: https://developers.google.com/maps/documentation/javascript/get-api-key
- Once you have your auth key insert it into the HTML located in the main.handlebars page in the layouts folder.
--Getting Set Up On Flip--
- Log on to a server such as flip3.engr.oregonstate.edu
- Create a folder for CS361.
- Navigate to the folder you just created
- Go to github and navigate to the CS361 project page.
- Click on the green button that says Clone or download and copy the link.
- In your flip terminal type: git clone and then paste what you copied. Should look like: git clone https://github.com/natez56/CS361Project.git
- Now you should have a folder named CS361 in your directory. Navigate to that folder.
- Use the command node forms.js to run the required js.
- Navigate to http://flip3.engr.oregonstate.edu:9005 to view the rendered page.
- Note if the page is not loading it is most likely because the port is in use to fix this follow these steps
- Open the forms.js file.
- Find the line that says app.set('port', 9000); and change the port to something else like 5005.
- Save the file. Make sure the files are up to date on flip with the new port.
- Run node forms.js again and go back to the page http://flip3.engr.oregonstate.edu:5005 <- now with the new port.