Skip to content

Latest commit

 

History

History
199 lines (132 loc) · 7.21 KB

File metadata and controls

199 lines (132 loc) · 7.21 KB

Makers Apprenticeship Week 7

Makers Learning Objectives

  • break down projects into tasks and allocate them to pairs
  • build to a specification (rather than challenges)
  • run stand-ups and retrospectives
  • use a branch/pull request/merge git workflow
  • give and receive meaningful code review
  • recognise that contributions to teamwork do not always involve writing code

Applied Learnings

  • Build a program according to a specification: MakersBnb

Personal Learning Objectives

  • learn about SQL injection
  • learn how to filter based on keyword
  • use a branch/PR/merge git workflows
  • learn css and html
  • follow a developer workflow ie.e. creating issues, branching, reviewing, squirrelling, merging
  • use agile techniques
  • work in a team of devs
  • run standup meetings an retros daily
  • learn to wireframe products
  • learn to use github with collaborators/merge etc
  • learn how to merge conflicts
  • how to run rspec tests when working with databases
  • how to store date and work with ranges from psql

Things to celebrate

  • being able to apply the knowledge acquired so far to a team project
  • good workflow and collaboration
  • keeping track of progress with logging tickets on Trello and assigning specific people to tasks
  • team dynamic
  • focus on MVP and prioritising product specs over nice-to-have’s
  • learning together about git branching
  • not afraid to ask for support when encountering blockers
  • taking turns to lead sessions in our team
  • reaching 5kyu on codewars and over 300 honor points

Emotions

I absolutely enjoyed working with a team of devs and getting to learn from everyone's very different set of skills and expertise. I feel like we have managed to create a really productive team dynamic and accomplished a lot in only one week. Sharing learning resources and always going above and beyond to support one another with code reviews, pull requests or debugging was a very insightful experience.

On a personal level, I learned that I need to trust myself a bit more. I was able to implement two features well, but I hesitated to express my thoughts and communicate my intentions clearly during the pair programming sessions.

The biggest learning comes from understanding git branching and the importance of merging early and often to avoid last minute conflict resolutions.

Progress and Learnings

MakersBnb Team Project

Development Project

  • Set up a schedule and way of working
  • Use Trello board to track tickets logged
  • Develop user stories based on product specifications
  • Create a minimum viable product (MVP)
  • Domain Modelling (MVC Diagrams)

Trello Board

Team Goals

  • Have fun :)
  • Improve our collaboration skills
  • Share knowledge and explain concepts along the way
  • If we need independent time, feel free to communicate that with the pair partners
  • Remember “It’s not hard, it's new!” 🌟

Project Specifications

  • Homepage: sign up/log in/authentication
  • Spaces: list of spaces with property details/ ability to see individual spaces
  • Each space: individual property details/ ability to make a booking
  • Dates: host can add property availability, user can select range of dates and see properties available, dynamic range
  • Requests: user can see both their own spaces listed for rent and their requests to book

Reflection

What we have learned working as a group

  • Planning before implementing is key
  • Modelling sets a good outline of what the project should look like
  • RSpec testing
  • Databases
  • A lot of front end sparkle from each other
  • Trust other people with their work

If we were to do this again what we would improve/do differently

  • Have more meetings together (rather than in pairs)
  • Allow time to merge branches and resolve conflicts

What would we like to add in the future/ if we had more time

  • Encrypting passwords
  • Logo design
  • Working search bar for homepage
  • Email notifications for user
  • More front end design
  • Requests

Branching

  1. git checkout -b [branch name] Create a new branch and switch to it
  2. modify (git add [file_name]/ git commit)
  3. git push -u origin [branch name] Push changes to remote repository (and remember the branch)
  4. create pull request

General learning

  • Conventional commits

    feat: (new feature for the user, not a new feature for build script) fix: (bug fix for the user, not a fix to a build script) docs: (changes to the documentation) style: (formatting, missing semi colons, etc; no production code change) refactor: (refactoring production code, eg. renaming a variable) test: (adding missing tests, refactoring tests; no production code change) chore: (updating grunt tasks etc; no production code change) revert: indicates the reversion of a previous commit .

  • Standup

    1. What have I worked on yesterday?
    2. What am I focusing on today?
    3. What are my blockers?
  • VScode commands

    Ctrl + ` to open new terminal

Git

Git commands

Useful resources

Git

Git Branching

Learn Git branching

GitHub Workflow (video)

Git Commands

Project Specifics

MakersBnB Page

MakersBnB Specification

MakersBnB Mockup

Agile

Agile Backlog (video)

Agile Product Backlog Explained (3m video)

Daily standup (video)

Agile Retro (video)

Retrospective

Agile User Stories (video)

User Stories

Creating User Stories | Makers Knowledge Pill

Writing User Stories

README

READMEs | Makers Knowledge Pill

Writing a Kickass README

Other

XP Values

User registration

Lighthouse

Livable

Adding CSS to Sinatra

Flexbox