immich/docs/docs/developer/architecture.md
Jason Rasmussen 4cdc59e51c
ci: doc format check (#2325)
* ci: doc format check

* chore: linting
2023-04-24 12:49:20 -05:00

42 lines
986 B
Markdown

---
sidebar_position: 1
---
# Architecture
## High Level Diagram
![Immich Architecture](./img/app-architecture.png)
## Technology
Immich is a full-stack [TypeScript](https://www.typescriptlang.org/) application, with a [Flutter](https://flutter.dev/) mobile app.
### Mobile
- [Flutter](https://flutter.dev/)
- [Riverpod](https://riverpod.dev/) for state management.
### Web
- [SvelteKit](https://kit.svelte.dev/)
- [Tailwindcss](https://tailwindcss.com/)
### Server
- [Node.js](https://nodejs.org/)
- [Nest.js](https://nestjs.com/)
- [TypeORM](https://typeorm.io/) for database management.
- [Jest](https://jestjs.io/) for testing.
- [Python](https://www.python.org/) for Machine Learning.
### Database
- [PostgreSQL](https://www.postgresql.org/)
- [Redis](https://redis.io/) for job queuing.
- [Typesense](https://typesense.org/) for search.
### Web Server
- [NGINX](https://www.nginx.com/) for internal communication between containers and load balancing when scaling.