Design Philosophy

The design philosophy behind a language influences its features, syntax, and intended use cases, guiding developers in adopting best practices and idiomatic approaches

Programming languages

Learn the main programming languages involved in the project: Go, TypeScript, Python, Shell

Go Programming Language

HelixML is primarily built using Go, making it essential for developers to understand its syntax, standard library, and best practices. Go’s simplicity, efficiency, and strong community support make it an excellent choice for building scalable and robust applications.

Docker

Docker is used for containerizing the HelixML application and its dependencies, enabling easy deployment, portability, and scalability. Developers should learn how to use Docker to build, run, and manage containers.

Git

Git is the version control system used for managing the HelixML source code. Understanding Git’s concepts, such as branches, commits, merges, and workflows, is crucial for collaborating effectively with other developers and maintaining the project’s codebase.

PostgreSQL

HelixML uses the PostgreSQL database for storing and managing data. Developers should learn SQL queries, indexing, and database design principles to effectively interact with the database and optimize performance.

Go Mocking Framework

This Go library is used for creating mock objects for testing. Understanding how to write and use mocks is essential for writing reliable and maintainable tests.

Gorilla Router

This Go library is used for routing HTTP requests. Developers should learn how to define routes, handle HTTP methods, and parse request parameters.

Gorilla Websocket

This Go library is used for implementing WebSockets in the application. Developers should learn how to handle WebSocket connections, send and receive messages, and manage concurrent connections.

Material UI

This React UI library is used for building the user interface. Developers should learn how to use Material UI components, customize their appearance, and handle user interactions.

JWT

This Go library is used for implementing JSON Web Tokens for authentication and authorization. Developers should learn how to generate, verify, and parse JWT tokens.

Go CMP

This Go library is used for comparing Go structures and lists. Developers should learn how to use it for testing and ensuring that their code maintains data consistency.