- 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
- Build a program according to a specification: MakersBnb
- 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
- 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
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.
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)
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
- git checkout -b [branch name] Create a new branch and switch to it
- modify (git add [file_name]/ git commit)
- git push -u origin [branch name] Push changes to remote repository (and remember the branch)
- 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
- What have I worked on yesterday?
- What am I focusing on today?
- What are my blockers?
-
VScode commands
Ctrl + ` to open new terminal
Git
Git
Project Specifics
Agile
Agile Product Backlog Explained (3m video)
User Stories
Creating User Stories | Makers Knowledge Pill
README
READMEs | Makers Knowledge Pill
Other
