Details:
by Vasanth Pappu & Jay Bobo
paircolumbus.org
To develop an automated solution to pairing meetup attendees of varying experience.
- Must use Rails 5
- Must use a testing framework (ie. Minitest, RSpec, Cucumber)
- Use the front end framework of your choice (ie. html/vanillajs/angular/react)
- Must use Travis CI to track test coverage (https://docs.travis-ci.com)
- Fine tune our user stories, create your issues and establish a data model
- Email us the link to your repo (info[dot]paircolumbus.org)
- Choose a license - http://choosealicense.com/licenses/gpl-3.0/
- Slack: paircolumbus.slack.com
User sign up
- Multiple users should be able to sign in
- Should be able to identify as an organizer or an attendee
- Should be able to enter their email and experience level
Attendee login
- If a user has signed up before, they should be able to log in with their email and password
- Should be able to edit their experience level
- Should be able to view a history of the meetups they’ve attended
- Should be able to view a history of people they’ve paired with
- Should see a “come back later” message if they have navigated to an org’s page and pairing is not available.
Organizer login
- Should be able to enter their organization name and contact details
- Should be able to create a custom url (pairs.org/)
- Should be able to view all their attendees
- Should be able to start and end an event
Pairs display page
- Should display all users currently logged in
- Should display current pairs of users
- Should display current users who are not paired
Pairing
- A button should be able to pair users up randomly
- An admin user should be able to pair users up manually
- A button/s should be able to pair users up based on their experience level
- Pair least experienced with most experienced
- Pair users with similar experience levels
- Pair users with matching interests
- A button should be able to unpair everyone
- A button should be able to save the current pairs
- The history of a user’s pairs should be recordable and displayable
- Both users should be able to enter notes about a pairing session
- I.e. what they learned
- I.e. code snippets
Roadmapping
- A roadmap is a map of different things a user has learned over pairing
- A user should be able to edit their roadmap
- Two roadmaps should be comparable (via overlap, e.g.) so that a pair of users can see what they have common experience in
Event View
- Attendees and organizers should be able to view a list of all organizations providing pairing sessions in their area
Chat
- A user should be able to ask the group questions, like how to interpret a certain line of code, or where to get more help
- Another user that’s part of a different pair should be able to peer in and respond if they know something helpful
Make sure you have Vagrant and VirtualBox installed. Next, download the repo and run the following command in the project root to provision your Vagrant machine:
vagrant up
After the provisioning finishes, you can access the project at localhost:3333
. That's it!
To access the vagrant machine, use vagrant ssh
. This will ssh into your
vagrant machine. All application code is located in /vagrant
.
Navigate to the /vagrant
directory within vagrant and rspec
.
To setup the database, run:
bundle exec rake db:create RAILS_ENV=test
bundle exec rake db:schema:load RAILS_ENV=test