Project 1: Hello, NodeBB!¶
Learning Goals¶
- Familiarize yourself with an existing software project
- Download, install and run an existing software project
- Onboard on development tools and technologies
- Learn Git Flow and GitHub to support future collaborative development
- Run local analysis tools and use the output to evaluate a codebase
Project Context¶
Welcome to the 17-313 development team! To get started, you will be going through our onboarding process to familiarize yourself with both the course and the project you will be working on. Eventually, you will be tasked with designing and developing new features, but the first step is to download, run, explore, and evaluate the existing software product.
This semester, we will be building upon NodeBB, an open-source community forum software project that was started in 2014. You can learn more about this project from the original development team's website.
For your own development, you will be forking your own repository off of a class-specific fork of NodeBB, which you can find at https://github.com/CMU-17313Q/NodeBB.
Our fork contains some tweaks to make the project easier to modify and debug. This will also allow you to create issues and pull requests that are visible to the instructors, which will be the primary way of submitting code deliverables for this project.
Deliverables and Deadlines¶
This is an individual assignment. There are four (4) deliverables and two (2) deadlines for this homework.
A) Build Checkpoint - 5 points - due Sunday, September 1st, 11:59pm
B) Starter Task - 95 points - due Thursday, September 5th, 11:59pm
- GitHub Issue (20 pts)
- Code Refactoring and Validation (10 pts)
- GitHub Pull Request (25 pts)
- Gradescope Written Assignment (40 pts)