Project Definition & Setup
Get your project and yourself set up for success on your team
Activities
As a Team
- At your first weekly meeting, discuss as a group whose final project from class your group will continue to develop during the practicum. Have one group member take notes as you go, write the information in a Slack message and pin it to your group’s channel for later reference.
- What features will you include? Outline what users will be able to do with your app.
- For these features, what elements will you need?
- Consider your database’s existing models and relationships, and what you will need to expand on.
- Consider the app’s existing views and what your users will need to interact with in each one.
- Once you know which person’s final project you will be working with, the owner should create a GitHub “Project” and add all contributors to it. This will create a Kanban board that is linked to this repo, where you can define and track tasks.
- This is quick and can be done in your meeting; from your repo on GitHub, select the “Projects” tab, then “New Project. Name it, and then under templates, select “Basic Kanban.”
- Add each group member as a contributor on the project.
- Begin to define work using tickets, or “Issues” on your Kanban board. Break tasks into small, manageable chunks.
- Place new Issues in the first column on your Kanban board: “To Do.”
- Be sure to include a ticket for adding a ReadMe to document your project
- Using the information you outlined in item 1 above, consider the core elements your app will need, as well as what each group member wants to learn and work on through this project.
- At your first meeting, be sure to also touch base about what the expectations of each group member will be.
- Agree on a time, place, and format for weekly group meetings.
- Consider group norms like responding to messages in a timely manner, and building on one another’s ideas.
On Your Own
- Outside of your meeting, each team member will need to pull down the repo and set up their local development environment.
- Follow the Setting up for this Git Workflow section in the CTD Git Workflow for Open Source Applications guide
- If needed, review the guide on Configuring Your Machine for Ruby/Rails Development
Resources
- Article: Documenting Your Projects on GitHub (GitHub Guides)
- Video: Forking a GitHub Repository (The Data School)
- Video: Copying a GitHub Repository to Your Local Computer (The Data School)
- Use these two Data School videos to fork a Rails project and clone it to your desired environment (your local computer or a cloud instance) so that you can work on the code.
- Article: How to Start a Group Project (Codecademy)
- Video: Working with Code Written by Someone Else (Codecademy)
- Video: DevOps CI/CD Explained in 100 Seconds (Fireship)
- Brief explanation of why you should work in tiny bites and integrate your code into the project very often (continuous integration).
- List: Git Commands Cheat Sheet (Atlassian)