Update Application Stack authored by Nicolas Pope's avatar Nicolas Pope
# Technologies # Technologies
The following technologies are utilised: The following technologies are utilised:
* NodeJS: Javascript environment for backend (in docker) * [NodeJS](https://nodejs.org/): Javascript environment for backend (in docker)
* Typescript: * [Typescript](https://www.typescriptlang.org/):
* React: for the client UI * [React](https://reactjs.org/): for the client UI
* Recoil: for state management in the client * [Recoil](https://recoiljs.org/): for state management in the client
* Styled components: For CSS * [Styled-components](https://www.npmjs.com/package/styled-components): For CSS
* Jest: for automated testing * [Jest](https://www.npmjs.com/package/jest): for automated testing
* Lerna: Monorepo management tool * [Lerna](https://www.npmjs.com/package/lerna): Monorepo management tool
* Yarn: NodeJS package manager * [Yarn](https://classic.yarnpkg.com/en/): NodeJS package manager
* Nginx: as the application gateway / reverse proxy * [Nginx](https://www.nginx.com/): as the application gateway / reverse proxy
* TSED: A typescript service framework for writing REST APIs * [TSED](https://tsed.io/): A typescript service framework for writing REST APIs
* MongoDB: Database for storing user and node details etc. * [MongoDB](https://www.mongodb.com/): Database for storing user and node details etc.
* Redis: Inter-service messaging and in-memory database * [Redis](https://redis.com/): Inter-service messaging and in-memory database
* Docker: To containerise the services and client * [Docker](https://www.docker.com/): To containerise the services and client
* Gitlab: For CI/CD * Gitlab: For CI/CD
* Webhooks: For automated deployment on our Ubuntu server * [Webhooks](https://github.com/adnanh/webhook): For automated deployment on our Ubuntu server
* Docker Registry: Our own registry instance * Docker Registry: Our own registry instance
* Docker-compose: To orchestrate a collection of docker containers
# Development and Monitoring Tools # Development and Monitoring Tools
* OpenSearch: A logging and metrics solution * [OpenSearch](https://opensearch.org/): A logging and metrics solution
* OpenSearch Dashboard: Web interface to OpenSearch * [OpenSearch Dashboard](https://opensearch.org/docs/latest/dashboards/index/): Web interface to OpenSearch
* RedisInsight: Web interface to Redis * [RedisInsight](https://redis.io/docs/stack/insight/): Web interface to Redis
* VS Code: Development containers * VS Code: Development containers
* Mongo Express: Web interface for MongoDB * [Mongo Express](https://github.com/mongo-express/mongo-express): Web interface for MongoDB
* Docker Registry UI: Web interface to browse docker registry * Docker Registry UI: Web interface to browse docker registry
\ No newline at end of file