None of this information is set in stone. Provide a basic insight into your initial thought processes, change the repo and StackShare as these insights evolve throughout the course.
An architecture digram can be made in many different applications. Some common ones you’ll probably come across are LucidChart, Google Drawing, and MermaidJS (programmatic, not super powerful). When it comes to your diagram, I expect it to make sense and be grouped logically. It should try to indicate similar pieces of the architecture and make the paths between nodes flow smoothly.
Below are 2 examples of the same architecture diagram. These are real diagrams that we made for the Slack Application at GitHub.
|This diagram, while it has all the pieces, failed to group the different systems together. The data sources (3rd party APIs) are even on different sides of the diagram. Logos are all different sizes, and arrows aren’t as smooth as they can be.||This diagram has all the same information, however we have logically grouped the pieces into data sources, data storage, and monitoring. This gives the reader a clear indication of intent and architecture. This diagram made sure the logos were all the same size as size could indicate something like important, which we were not trying to do here. We also reduced the clutter of the arrows and removed all angles. This makes the diagram far easier to read and understand|
Your diagram should follow these same principles. You do not need to include pieces of your stack that don’t touch production (e.g. GitHub), but should include all tools that do (like monitoring). You can see an alternative format in the F2019 team Klutch.
You must create a release on your repo. This will give us a snapshot in time and allow us to grade it.
Assignments are always due at 11:59:59pm Eastern Time.
Second, you must submit the release on the LearnSoftware application. You can find the submission location here: https://learnsoftware.engineering/my_assignments
|Use Cases||Describes the use cases well. Illustrates UI with low fidelity sketches where applicable. Is approved by teaching staff||30.0|
|Stackshare.io||Describes the main technologies the team intends to use. For every technology, there is also a decision record. StackShare URL is added to the team profile in the App||25.0|
|Architecture Diagram||Incorparting all parts of the technologies in StackShare.io and adding adequate detail inside of those technologies (e.g. don’t just list React server when there’s major components to list), design an architecture diagram in the software of your choice. Include it in the team repo||20.0|
|Roadmap||Roadmap clearly captures in-depth details of the short term future (next week weeks), some light details about the medium term (towards the end of the term), and high level goals for the future (past the end of the term). Includes plans for significant user research.||25.0|
This scale is used for each line of the rubric above.
|Outstanding||100% of pts|
|Strong||80% of pts|
|Acceptable||60% of pts|
|Insufficient||40% of pts|
|Unacceptable||0% of pts|