arc42.org-site
system-design-primer
Our great sponsors
arc42.org-site | system-design-primer | |
---|---|---|
16 | 380 | |
6 | 254,953 | |
- | - | |
8.1 | 0.0 | |
about 1 month ago | 5 days ago | |
SCSS | Python | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
arc42.org-site
-
A View on Functional Software Architecture
There a various standards for documenting software architecture, like arc42 or C4. While useful and somewhat well-known (there is certainly a correlation here), here architecture documentation can be further simplified, particularly due to the self-similarity of project and component. Following is a small template, that can also serve as a project's and component's README:
-
Architecture diagrams enable better conversations
I've been using https://structurizr.com/ to automatically generate C4 diagrams from a model (rather than drawing them by hand). It works well with the approach for written documentation as proposed in https://arc42.org/. It's very easy to embed a C4 diagram into a markdown document.
The result is a set of documents and diagrams under version control that can be rendered using the structurizr documentation server (for interactive diagrams and indexed search).
I also use https://d2lang.com/ for declarative diagrams in addition to C4, e.g., sequence diagrams and https://adr.github.io/ for architectural decision records. These are also well integrated into structurizr.
-
Documenting a software project
My general approach to documentation is a "software guidebook" (free e-book link) or arc42 ... complemented with diagrams and architecture decision records where necessary.
-
System Design How to?
In addition to a small number of diagrams, I'd recommend something like arc42 or my "software guidebook" (link for a free copy of my book describing this), plus some architecture decision records.
-
Solution Templates
Arc42 may give some inspiration https://arc42.org/
-
What's your process to create documentation for a new startup's application?
If you need more structure than ADRs then https://arc42.org is super useful.
-
Recommendations for an Online Introduction to Software Modeling
There are plenty of good resources out there for learning modeling languages and architectural documentation structures. For more lightweight methods, I'd recommend checking out resources like Simon Brown's C4 model for visualizing software architecture, Martin Fowler's UML Distilled: A Brief Guide to the Standard Object Modeling Language, Scott Ambler's Agile Modeling site, and the arc42 template for architectural documentation.
-
How to get good at writing design documents?
As you need to, you can get into topics like different modeling languages or documentation template libraries. These are going to be highly dependent on your organization, though, as different organizations have different standards for what and how to document design decisions. Personally, I've found that the arc42 documentation template plus the C4 modeling language plus the UML modeling language (see UML as sketch and UML as notes for more on lightweight UML) for the most detailed models (which are rarely needed outside of the most complex parts of a system) tends to be a good, agile, lightweight model for the kinds of things to think about when it comes to creating design documentation.
-
How to improve writing documentation?
We've started using Arc42 and C4 model & PlantUML for diagrams. Working out well so far.
-
About documentation
arc42 - arc42
system-design-primer
-
10 GitHub repositories that every developer must follow
✅ donnemartin/system-design-primer: https://github.com/donnemartin/system-design-primer
- FAANG - Guia Descomplicado de Entrevistas - parte 2
-
10 GitHub Repos to Become a Better Backend Developer
View on GitHub
-
[Need Recommendation] System design concepts based repos that provide bird's-eye-view
I've been giving interviews for past couple of months and this github repo has helped me so much for system design perspective and I can see myself excelling at interviews. - https://github.com/donnemartin/system-design-primer
- GitHub – system-design-primer: Learn how to design large-scale systems
- FLaNK Stack Weekly for 30 Oct 2023
-
Getting ACL surgery in two day and pretty nervous.
You'll be on opiod's probably the first 1-2 days, so sleeping should be fine. Everything will be allright, don't worry too much. Just use the time now to prepare for the time after, make sure you go through post-surgery-essentials thread. Once you are out of the OR you won't have the energy to think about those details, so make sure you take that prep serious.
-
Tool decision - What architecture would you choose and why?
Tooling isn’t architecture. Figure out what you need to handle both personas and volume/throughput and then lay out the capabilities you’ll need. As you lay out points of ingress, egress, consumption you can start to lay out sequences(think in persona and sequence diagrams to express interactions between services). Lastly, evaluate tools that offer some of these capabilities and weigh the trade-offs (there are always trade-offs: https://github.com/donnemartin/system-design-primer).
-
Is there an EU country which I might work there being an average non-EU developer
[1] https://github.com/donnemartin/system-design-primer [2] https://www.teamblind.com/post/My-Approach-to-System-Design-V4SJARdx
What are some alternatives?
diataxis-documentation-framework - A systematic approach to creating better documentation.
Grokking-the-Coding-Interview-Patterns - This course categorizes coding interview problems into a set of 16 patterns. Each pattern will be a complete tool - consisting of data structures, algorithms, and analysis techniques - to solve a specific category of problems. The goal is to develop an understanding of the underlying pattern, so that, we can apply that pattern to solve other problems. [UnavailableForLegalReasons - Repository access blocked]
jgmd - A directory of direct links to get your personal data from web services.
developer-roadmap - Interactive roadmaps, guides and other educational content to help developers grow in their careers.
c4-notation - Technical resources for using the C4 model for visualizing software architecture.
machine-learning-interview - Machine Learning Interviews from FAANG, Snapchat, LinkedIn. I have offers from Snapchat, Coupang, Stitchfix etc. Blog: mlengineer.io.
architecture_decision_record - Architecture decision record (ADR) examples for software planning, IT leadership, and template documentation
interview - Everything you need to prepare for your technical interview
architecture-decision
awesome-interview-questions - :octocat: A curated awesome list of lists of interview questions. Feel free to contribute! :mortar_board:
java - Structurizr for Java
manim - Animation engine for explanatory math videos