Skip to content

Assignment 2: Hello, NodeBB!

Possible Points Due Date
50 pts Thursday February 1st - 11:59pm

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 CEN 5016 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/UCF-CEN-5016/NodeBB-UCF.

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. We have broken this assignment down into two parts. The first part of the assignment tasks you with building the NodeBB project and getting familiar with the codebase. The second part asks you to complete a simple development task and go through the software development process that we will be using in this class.

There are five deliverables related to this assignment, described in the bottom section, one of which is associated with Part 1 and four of which are associated with Part 2.

Part 1) Build Checkpoint - 5 points

  • Project Compilation (5 pts)

Part 2) Starter Task - 45 points

  • GitHub Issue (10 pts)
  • TypeScript Translation (10 pts)
  • GitHub Pull Request (15 pts)
  • Gradescope Written Assignment (15 pts)

Turning in the Assignment & Grading Rubric

Turn in Assignment 2 on Webcourses

The grading for this project will be broken down as follows:

  • Project Compilation - (5 points total)
  • GitHub Issue - (10 points total)
  • TypeScript Translation - (10 points total)
  • GitHub Pull Request - (15 points total)
  • Webcourses Written Assignment - (15 points total)

All deliverables for this assignment are due on Tuesday, January 30th at 11:59pm.