Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/2025010700 #102

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@


## [0.2.1](https://github.com/Amsterdam/ee-docs/compare/v0.2.0...v0.2.1) (2025-01-07)


### Bug Fixes

* **.gitignore:** add build back to gitignore ([8e784c1](https://github.com/Amsterdam/ee-docs/commit/8e784c17bc950c0458dc3139baee28d02268cf86))
* **deploy.yml:** fix for build command ([45a5cbc](https://github.com/Amsterdam/ee-docs/commit/45a5cbc98054e6c4f7379dba4614ceb1896e7470))
* **footer:** resolve footer linklist hover styling in dark mode ([#97](https://github.com/Amsterdam/ee-docs/issues/97)) ([9404c02](https://github.com/Amsterdam/ee-docs/commit/9404c020b759c04b24c6f02a883ba56e21b01def))
* **homepagefeatures:** replace cards anchor with router link ([#99](https://github.com/Amsterdam/ee-docs/issues/99)) ([f0b5614](https://github.com/Amsterdam/ee-docs/commit/f0b56147949a906e65c1a77db43a24f4a801ce92))

## [0.2.0](https://github.com/Amsterdam/ee-docs/compare/v0.1.4...v0.2.0) (2024-12-23)


Expand Down
62 changes: 62 additions & 0 deletions docs/general/languages-and-frameworks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Languages & Frameworks for Software Development

> This page was last reviewed October 10th 2024. It needs to be reviewed again on April the 10th 2025.

## What is the standard?

### Backend

New backend applications are developed using **[Python](https://www.python.org/)** or **[Node.js](https://nodejs.org/)** (with **[TypeScript](https://www.typescriptlang.org/)**).

- Python applications use **[Django](https://www.djangoproject.com/)** or **[FastAPI](https://fastapi.tiangolo.com/)**.
- Node.js applications use **[NestJS](https://nestjs.com/)** or **[Express.js](https://expressjs.com/)**.

A single (monolithic) codebase where the backend renders the frontend (i.e., without separate frontend and backend codebases) is generally not permitted. The only exception is if you have presented your problem and code to the Gilde to explore whether more suitable solutions exist and there was none.

### Frontend

New frontend applications are developed using **[TypeScript](https://www.typescriptlang.org/)**.

- UI logic is implemented with **[React](https://react.dev/)** in combination with the **[Amsterdam Design System](https://designsystem.amsterdam/)**.
- CSS is implemented using **[CSS modules](https://github.com/css-modules/css-modules)**.
- Full application development is implemented with **[Next.js](https://nextjs.org/)** or **[Remix](https://remix.run/)**.

### Mobile Applications

New mobile applications are developed using **[React Native](https://reactnative.dev/)** and should be implemented as modules into the existing **[Amsterdam App platform](https://github.com/Amsterdam/amsterdam-app-frontend)**.

### Low-code

New low-code applications are developed using **[Mendix](https://www.mendix.com/)**.

## When to apply this standard?

### New applications

When developing new applications, teams have the freedom to choose technologies within the preferred stacks mentioned above that best fit their project requirements.

### Existing applications

No active rebuild or migration of existing applications will occur unless there's a clear business case (e.g., security risks, end-of-life technology, or strategic necessity). Teams remain responsible for maintaining and extending these systems in their current technology.

### What if I want to deviate from the standard?

Deviations from the established standards must be submitted to the Engineering Enablement team of the Software Development Department. They will consult with experts from the guilds to make a decision. This prevents uncontrolled growth and ensures a rational evaluation of technical choices.

### What about innovation or prototyping?

Teams may explore new technologies or tools, but only within defined pilot projects or proof-of-concepts. If successful, these technologies can be integrated into the policy in consultation with the Management Team of the Software Development Department.

## What is the aim of this standard?

The software development department aims to promote consistency and efficiency within our teams without restricting innovation and flexibility.

We see standardization as a crucial element to ensure scalability, knowledge sharing, and maintainability of projects now and in the future. Additionally, we want to provide sufficient space for autonomy within teams so that they can respond to project-specific needs or task requirements.

## When and for whom is this standard applicable?

- This standard applies to all developers.

## Acknowledgments

Many thanks to [Jeffrey Klardie](https://github.com/jklardie) and [Sirée Koolen-Wijkstra](https://github.com/SireeKoolenWijkstra)
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "docusaurus",
"version": "0.2.0",
"version": "0.2.1",
"private": true,
"scripts": {
"docusaurus": "docusaurus",
Expand Down
Loading