Skip to content

Latest commit

 

History

History
83 lines (62 loc) · 6.04 KB

File metadata and controls

83 lines (62 loc) · 6.04 KB

MakeUtility Project

Table of Contents

Scenario

The Project Manager at Awesome New Startup, Inc. has secured an entire sprint to focus on creating utilities that enhance the development team's workflow. During sprint planning, the team identified areas of improvement together. Each team member will be responsible for taking ownership over one problem this sprint.

Stakes

Real World Opportunities, High Visibility Consequences

The entire software suite will be presented and discussed during the sprint retrospective. Furthermore, the suite of tools will be available internally for company-wide usage. A presentation will be made to everyone, introducing each tool, and a feedback form will also be sent in the organization's #general channel. That means all eyes are on you! You recognize an opportunity to identify and solve a unique problem, and are highly motivated to earn the respect of the entire organization.

Reflect upon the questions below, and brainstorm ideas that fit this scenario.

Solve

Identifying a Good Engineering Problem

  1. What do you wish was easier?
  2. What utility, API, or library could have the most impact on your day to day life?
  3. What can I automate that would make myself and others more productive?
  4. How could you make your colleagues' day more fun, interesting, or relevant?
  5. When can the unique features of Golang be applied in order to produce a polished product quickly?
    1. Example 1: Could use you goroutines to download a bunch of GitHub repositories concurrently?
    2. Example 2: Could you import a well-written Open Source package or API that grabs data from Google Sheets and returns it as a secured JSON API?

First Deliverable

Commit a proposal document that describes the problem you'll solve in the project root.

Your boss will be looking for it in a file named proposal.md.

Project Guidelines

  1. Must score higher than 80% to pass the project.
  2. Consult the syllabus for project due dates and rules surrounding the total number and velocity of commits in projects and assignments.
  3. Copy this document and commit it to your project's repository.
    1. Use the ✓ column to keep track of requirements you've completed so far.
    2. ✓ each section of the rubric upon completion to keep track of your score.
    3. This technique will ensure delivery of a passing, portfolio-worthy project.
  4. Items marked with 🌟 will earn you bonus points.
    1. You may choose to complete any, all, or none of the bonus challenges.
    2. Projects scoring >95% will earn a limited-edition holographic droxey sticker at the end of the term!
  5. Instructor feedback will appear in the empty space below the rubric and distributed at the end of the term.

Rubric

Student Name Total
(Possible)
Bonus
(Possible)
Total
(Earned)
Bonus
(Earned)
Final Score
(Points)
Final %
____________________ 200 50
Phase Criteria Points Score
Propose Repo Contains proposal.md Document & Written Proposal 15
Propose Utility Has Purpose & Fulfills the Proposal 15
Implement Source Code Receives a B or Higher on Go Report Card 50
Implement Utility Can Persist Data 25
Implement Utility Incorporates a Third-Party API 25
Implement README Contains Go Report Card Badge at Top 5
Implement Source Code in Public GitHub Repo & Added to Tracker 5
Implement No Exposed Secrets in Source Code 5
Implement Properly Defined .gitignore 5
Implement Attribution Links in Comments for "Borrowed" Code 5
Deploy Shipped Live & Fully Usable 30
Document Installation & How to Use Documentation in README 15
   
Bonus 🌟 Add API Key Authentication to Your API 5
Bonus 🌟 Documentation Website, Link in README & Repo Header 5
Bonus 🌟 Test Suite with >80% Code Coverage 10
Bonus 🌟 Published Blog Post About Project 10
Bonus 🌟 Project Released on GoDoc.org 20

Code Review and Feedback

Instructor feedback will appear in this space.