Microservice Architecture

Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of services that are:
  • Highly maintainable and testable
  • Loosely coupled
  • Independently deployable
  • Organized around business capabilities
The microservice architecture enables the rapid, frequent and reliable delivery of large, complex applications. It also enables us to evolve our technology stack quickly and safely.

Tech Stack

There are two distinct divisions within the CrossBox codebase: back-end (server-side) and front-end (client-side). We carefully picked technology stacks for both.

Back-end

Golang

Go is a statically typed, compiled programming language with memory safety, garbage collection, structural typing, and high concurrency.

Front-end

React + Angular

Angular is an application design framework for creating efficient and sophisticated apps. React is a fast rendering engine.

Proven UI Design

CrossBox quickly conveys information to the user while still looking visually appealing and approachable. Additionally, it is responsive to changes in size across different devices and still looks sharp on high-definition screens.

Utilizing Technology

We utilize technology, best development and quality assurance processes to make stable, bug-free software that is fast, secure and reliable.

Real-time Information

Whether its a new email, chat message, conference invitation or a file sharing notification, we want all CrossBox users to have near real-time access to information. CrossBox utilizes technologies and practices that enable users to receive information as soon as it is available, rather than requiring that they or their software check a server periodically for updates.

Performance

Many features impact performance including latency, application size, the number of DOM nodes, the number of resource requests made, JavaScript performance, CPU load, and more. Our development team is always working on minimizing the loading and response times, therefore making the experience as available and interactive as possible, as soon as possible.

Reliability

CrossBox provides continuous, highly concurrent, 24/7/365 operation in production environments. We achieve this by writing extensive automated test cases and having all new code reviewed by a quality assurance engineer. Also, CrossBox has built-in self-healing mechanisms that monitor the service's health and automatically fix issues if they occur.

Security

Security policies and practices are integrated into all stages of the CrossBox development, operations, and testing process. That is the idea behind DevSecOps – an approach that embeds security practices into the combined development and operations processes of DevOps.

Portability

Our practice of actively writing software that will work on more than one platform allows CrossBox server to run on a variety of Linux distributions, while the client apps can run on any modern web browser, Android, or iOS device.

Low Memory Footprint

Efficient memory usage and low memory footprint are of critical importance for both the CrossBox server and CrossBox client apps. CrossBox aims to use as little memory as possible, making more memory available for other apps and system services.

OSS

See a complete list of open source software and libraries used in CrossBox

Open Source Software