/project-vagabond

Group Rails project - travel community app

Project Vagabond

Brief

We have been commissioned to build a travel community, code-named Project Vagabond for now, for users to share tips (AKA posts) about their favorite locations around the world.

Client Contract

The client has provided basic wireframes and user stories. In some cases, these requirements may be vague or incomplete.

Expectations

The client contract consists of three core sprints and four bonus sprints. Each sprint contains a set of user stories. You may not complete all of the sprints within the time period, and that's ok. The goal is to gain experience working on a development project in a group while navigating a client's feature list.

IMPORTANT: You may not begin a new sprint or start on a bonus without client approval.

You will work in groups of 3-4, and we expect you to pair program for the majority of the time you're writing code.

During morning scrums and in smaller check-ins throughout the day, clearly communicate your current status and next steps to your teammates. Use a kanban-style scrum board such as Trello to organize tasks (example Trello board).

Commit changes at least once for each user story. Consider creating automated tests or even implementing TDD for any complex application behavior.

Put effort into your design. Use a CSS framework (e.g. Bootstrap), partials, and some custom CSS or Sass/Less.

Use the git collaborator scenario, feature branches, and pull requests.

Refactor your code after each sprint, considering:

  • Indentation
  • Readability
  • Naming
  • Organization
  • Commenting
  • DRYness

Questions to Ask Yourselves

  1. Are you all clear about what the client wants? Identify vague areas. Seek clarification in any cases where you feel less confident about your interpretation of the client's vision.

  2. What will the UX/UI flow be? Hammer out any areas of ambiguity in the wireframes

  3. Which models do you need to implement? Create an ERD for the client to reference.

  4. What are the major milestones or components that you need to complete? How can these be turned into tasks that group members can complete in pairs? Where do these milestones overlap and how will those related tasks be managed?

  5. What milestones are you and your group members interested in working on? How can you effectively delegate the work into pairs so that each group member is interested, challenged, and productive?

Groups

Each group has an assigned instructor or DIR, who will act as your client as well as give technical support during instructor-group meetings.

Group #1 - Justin

  • James
  • Sophia
  • David
  • Paolo

Group #2 - Justin

  • Meg
  • Matthew
  • Switt
  • Jason

Group #3 - Ben

  • Bill
  • Ted
  • Daniel
  • Natalia

Group #4 - Melissa

  • Ryan
  • Tiffani
  • Aaron

Presentation

Each group will present their project on Monday, August 22nd starting at 1:30pm for 10 minutes.

Each member of your group should speak during your presentation and mention which parts of the project they worked on.

Your presentation should include:

  • Tour (demo) of your app.
  • How did your group approach the requirements? (mention anything unique or creative your group chose to do)
  • What was easier than you thought? What was more challenging?
  • What is a lesson you will carry forward to working on Project 2?
  • Shout outs for fellow students!