arc42.org-site
json-api
Our great sponsors
arc42.org-site | json-api | |
---|---|---|
16 | 59 | |
6 | 7,323 | |
- | 0.6% | |
8.1 | 5.2 | |
about 1 month ago | 11 days ago | |
SCSS | CSS | |
MIT License | Creative Commons Zero v1.0 Universal |
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
json-api
-
Hatchify: The Fastest Way to Build JSON: APIs
In addition to saving you time on boilerplate, the API provided by Hatchify fully implements the JSON: API specification, which stipulates solid standards to define the peculiarities of CRUD REST APIs. Get back all the time spent bike-shedding how to implement standard API features like filtering, pagination, including related data, etc. JSON: API offers consistent practices for frontend and backend developers to agree on how resources are fetched and returned. Since Hatchify provides the core of your API for you, you can count on it’s standardized functionality to give your API a consistent start.
- SQL as API
-
Show HN: Sunnybox – An Email API for Effortless IMAP Integration
-JSON:API format responses (https://jsonapi.org) for better standardization.
Built using Ruby on Rails, Sunnybox is designed to offer a powerful yet easy-to-use solution for developers managing email systems.
I'd really appreciate your feedback on:
- The API's user-friendliness and efficiency.
-
What if an SQL Statement Returned a Database?
https://github.com/json-api/json-api/issues/795
There is an atomic operations extension:
-
A View on Functional Software Architecture
JSON:API to format each message
-
Custom Fields: Give Your Customers the Fields They Need
As we’re building a RESTful API that’s formatted by the JSON:API specification and store our data in a MySQL8 relational database, a few things were pretty straightforward – we need a new model and we’ll name it Custom Field (naming wasn’t an issue here 🥲).
-
How to (and how not to) design REST APIs
I found json api spec[1] recently. This kind of is better standard for REST APIs. It is bit rough to handle client side but once you get the hang of it, it is breeze to use
[1] https://jsonapi.org/
-
Building a Secure RESTful API Using NestJS and Prisma With Minimum Code
That's it! Now we have a complete set of RESTful CRUD APIs at "/api/zen" that conforms to the JSON:API specification, and the access policies fully protect the APIs. The API provides rich filtering and relation-fetching capabilities. The following are some examples; you can find more details here.
-
JSON Schema Store
Does this have any relation to https://jsonapi.org/ ?
-
An Introduction to APIs
Basic REST and JSON RPC are very simple to start with, but have common problems when application gets bigger. How do you represent relations, pagination, filtering etc? My go-to specification for structuring JSON documents is https://jsonapi.org/ It covers most basic needs of a standard API.
What are some alternatives?
diataxis-documentation-framework - A systematic approach to creating better documentation.
NSwag - The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript.
jgmd - A directory of direct links to get your personal data from web services.
api-guidelines - Microsoft REST API Guidelines
c4-notation - Technical resources for using the C4 model for visualizing software architecture.
laravel-json-api - JSON API (jsonapi.org) package for Laravel applications.
architecture_decision_record - Architecture decision record (ADR) examples for software planning, IT leadership, and template documentation
apollo - 🚀 Apollo/GraphQL integration for VueJS
architecture-decision
grpcurl - Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers
java - Structurizr for Java
grpc-swift - The Swift language implementation of gRPC.