Deployed App: https://project-03-volunteer-calendar.herokuapp.com/
An application for community service-based organizations to manage events and volunteers.
- One Admin can control the events that appear directly from a Google Calendar
- Mobile-responsive design
- Volunteers can mark if they are attending the event
- Search and filter through events
- Fork repo
- Clone to local machine
npm i
to install packages- Uncomment out the code in
/client/src/setupProxy.js
- Add
"proxy": "http://localhost:3001",
to/client/package.json
- Setup OAuth app on in Google
- Set HomepageURL to http://localhost:3000
- Set Authorization callback URL to http://localhost:3000/auth/github/callback
- Update client id and client secret from OAuth app in in
config/keys.js
- Create a public Google Calendar that will be used solely to display organization events
- In
client/src/pages/Calendar.js
update the email ingetEvents()
to be your Google accountreturn gapi.client.request({ path: `https://www.googleapis.com/calendar/v3/calendars/prettyawesomepractice007@gmail.com/events?singleEvents=true`, });
- Robo3T or another MongoDB GUI a prerequsite for this application
- Can run
npm run seed
to seed the database
npm start
- Navigate to http://localhost:3000/auth/google
- Enter Google credentials to authenticate
- Verify a string of letter and numbers appear in the URL
- Validate the user information is available in the
user
collection in the database
- In
/client/src/index.css
can update the primary and accent hex codes::root { --primary-color: #04244c; --accent-color: #ffcb05; }
Deployment instructions coming soon
- Convert template to use content management system
- View only for unauthenticated users + sign in link
- Allow users to create their own login
- Added security via cookies
- Remove API key exposure
- Better handling for "all day" and multi-day events
- User can decline event
- Announcements page
- Admin Backend
- Better mobile-responsiveness
- Convert to React Native
- Convert to PWA
- Push Notifications
- Sync event to user's calendar
- Send responses to Admin's calendar
- See events attending on volunteer profile