Wiigo is a web application inspired by Meetup. Wiigo is a platform that connects people and gives them a place to join and create clubs that they love.
Wiigo is a personal project by Justin Black.
- User accounts with secure authentication
- Browse groups, events, and members
- Create and join groups
- Create new events, and delete led events
- Rsvp to future events in groups that one is in
- Search groups
Wiigo was designed and built in two weeks
A proposal was authored to help provide an timeline during development.
A database schema was written as part of the design proposal.
Wiigo is a single-page application built on Rails and React.js, with many dependencies in both the backend and the frontend.
The backend uses a ruby on rails architecture with json requests sent by a react-redux front end. Images are hosted on Cloudinary to allow for custom resizing.
- Frontend state was stored in as few keys as possible to minimize program complexity
- Number of backend apis were minimized to reduce complexity
- Separate Rsvps and Memberships APIs were used to prevent errors in group memberships and rsvps
- Group pages accessed through group name in the url rather than id#
- Search values were pushed to the url to allow a user to revisit a past search
- Backend controllers only allow a logged in user with correct privileges to modify the db
- "New items" shown on the group show page combine info from both memberships and rsvps