This project explores an existing production code base. We will be using the open source dev.to codebase. Dev.to is a platform, similar to Medium, that brings developers together to collaborate, network and learn through sharing blog posts, videos, podcasts and listings. We will be exploring the code base in order to augment test coverage, fix bugs, and extend the current functionality.
The goals of our exploration will be to:
- Learn and apply strategies for understanding how to analyze a large, existing code base
- Apply strategies for reading and evaluating documentation
- Explore and implement new concepts, patterns, or libraries that have not been explicitly taught while at Turing
- Practice an advanced, professional git workflow
- Each team will be assigned a track to explore that has associated full-stack bugs and features to fix and implement.
- All project work will be tracked using Github Projects
- Teams will create a copy of the project board template using the conveyor belt app
- All delivered features will be deployed to Heroku
- All code committed will follow a git rebase workflow
Instructors will serve as the project managers for each team. Students are responsible for facilitating the check-in with instructors. Please be prepared to share each of the deliverables for that check-in and make sure that your project board is up to date.
The teams are expected to present the following to their project manager at each check-in:
- Progress on the deliverables due at that check-in. Highlighting work that is complete and address any issues for incomplete work
- Difficulties, roadblocks, and bugs
- Stories on board for what the next phase will be and what the team is committing to by the next check-in
- Review of git commits and PRs
Check-in 1 Deliverables
- Project Setup. Instructions are here
- Team DTR
- Familiarize yourself with the platform and code specific to your assigned track
- Create project board with chores for environment setup, code annotations and test augmentation
Check-in 2 Deliverables
- Code annotations for the code specific to your track. Please follow these directions for submission
- Augment test coverage for the existing code, focusing on areas of the code that relate directly to the features in your track
- Create wireframes for user-facing portions of features associated with your track
- Create detailed user stories and chores defining implementation details for the functionality you will add
Check-in 3 deliverables
- Deploy to Heroku
- Map out data flow through the app as it applies to the specific features you are working on
- User story implementation in progress
Every team is expected to adhere to a code freeze 24 hours prior to their scheduled evaluation time. Once the code freeze is in effect, any new code pertaining to feature development, refactoring, or other chores can no longer be merged into master. Teams should instead focus their attention on manually testing their completed features, fixing any lingering bugs related to those features and preparing for their presentation.
For your evaluation, your team is expected to come prepared with a 15 min demo walking through:
- the features developed
- the git workflow utilized
- the process used to analyze the code base
You can find more details about the evaluation here
Teams should use the rubric as a guideline for what needs to be covered.
Teams - it’s your responsibility to ensure you are on track to meet the expectations of the rubric, which can be found here.