All Projects → fieldenms → tg

fieldenms / tg

Licence: MIT license
Trident Genesis

Programming Languages

javascript
184084 projects - #8 most used programming language
java
68154 projects - #9 most used programming language
HTML
75241 projects
TeX
3793 projects
CSS
56736 projects
Makefile
30231 projects

Projects that are alternatives of or similar to tg

system-design-master-plan
🥇 Roadmap to becoming a system design and architecture master
Stars: ✭ 172 (+1128.57%)
Mutual labels:  software-engineering, software-development, software-architecture
events
Repository of events for the Software Crafters Sydney community
Stars: ✭ 13 (-7.14%)
Mutual labels:  software-engineering, software-testing, software-architecture
Saway4ru
В этом релизе Вы найдете дополнительные материалы к книге "Путь аналитика. Практическое руководство ИТ-специалиста" (https://www.piter.com/product_by_id/40878036) Саму книгу можно заказать по адресу https://goo.gl/Av7Zmg
Stars: ✭ 22 (+57.14%)
Mutual labels:  software-engineering, software-development, software-architecture
Privacyflash Pro
Generate a privacy policy for your iOS app
Stars: ✭ 114 (+714.29%)
Mutual labels:  software-engineering, software-development
CodeWars
Daily Coding Exercises to sharpen problem solving skills
Stars: ✭ 67 (+378.57%)
Mutual labels:  software-engineering, software-development
Software Development Resources
Curated list of Software Development resources
Stars: ✭ 67 (+378.57%)
Mutual labels:  software-engineering, software-development
Eseur Book
Issue handling for Evidence-based Software Engineering: based on the publicly available data
Stars: ✭ 263 (+1778.57%)
Mutual labels:  software-engineering, software-development
Modular Monolith With Ddd
Full Modular Monolith application with Domain-Driven Design approach.
Stars: ✭ 6,210 (+44257.14%)
Mutual labels:  domain-driven-design, software-architecture
typescript-ddd-example
🔷🎯 TypeScript DDD Example: Complete project applying Hexagonal Architecture and Domain-Driven Design patterns
Stars: ✭ 607 (+4235.71%)
Mutual labels:  domain-driven-design, software-architecture
go-ddd-microservice
Domain driven design demonstration with idiomatic golang
Stars: ✭ 23 (+64.29%)
Mutual labels:  domain-driven-design, software-architecture
webspicy
A technology agnostic specification and test framework that yields better coverage for less testing effort.
Stars: ✭ 42 (+200%)
Mutual labels:  software-engineering, software-testing
Evergreen Skills Developers
List of evergreen skills, based on software development best practices & cross-framework principles, that should serve as a fair assessment of skilled software engineers / developers
Stars: ✭ 818 (+5742.86%)
Mutual labels:  software-engineering, software-development
Website
Risk-First Software Development
Stars: ✭ 609 (+4250%)
Mutual labels:  software-engineering, software-development
The Engineering Managers Booklist
Books for people who are or aspire to manage/lead team(s) of software engineers
Stars: ✭ 1,180 (+8328.57%)
Mutual labels:  software-engineering, software-development
Eseur Code Data
Code and data used to create the examples in "Evidence-based Software Engineering based on the publicly available data"
Stars: ✭ 340 (+2328.57%)
Mutual labels:  software-engineering, software-development
typescript-ddd-course
🔷🔖 TypeScript DDD Course: Learn Domain-Driven Design in TS lesson by lesson
Stars: ✭ 28 (+100%)
Mutual labels:  domain-driven-design, software-architecture
LearningResources
A centralised hub for learner around the globe from A-Z. You can find collections of manuals, blogs, hacks, one liners, courses, other free learning-resources and more
Stars: ✭ 63 (+350%)
Mutual labels:  software-engineering, software-development
software-architecture-books
A comprehensive list of books on Software Architecture.
Stars: ✭ 7,397 (+52735.71%)
Mutual labels:  software-engineering, software-architecture
books
A collection of online books for data science, computer science and coding!
Stars: ✭ 29 (+107.14%)
Mutual labels:  software-engineering, software-development
StressThing
a software testing platform to perform stress test on web of things
Stars: ✭ 12 (-14.29%)
Mutual labels:  software-engineering, software-testing

TG

Trident Genesis (TG) is a software development technology, which has been developed by a bunch of dedicated individuals from Ukraine and Australia with a financial support of Fielden Management Services Pty. Ltd.

In essenсe, TG incapsulates accidental complexity in order to enable application developers to better harness the essential complexity that stems from the target business domain.

We've built TG for our own purpose to remove many low level technical obstacles (accidental complexity) that are often associated with building sophisticated transactional applications such as Enterprise Asset Maintenance (EAM) or Enterprise Resource Planning (ERP) systems. And we have successfully used TG for developing large-scale and mission-critical enterprise applications.

We look at the system design as the decomposition problem, which can be solved successfully with the right approach in the right context. TG establishes a well defined pattern for modelling business domains, including domain entities, processes and their interdependencies (down to the level of properties with automatic revalidation support). At the code level the description of the domain model is achieved by using a small set of base classes and various annotations. Together these constitute what we refer to as "Entity Definition Language" (EDL), which is complemented by "Entity Query Language" (EQL) for data querying (relational databases).

Both EDL and EQL form the foundation of TG -- the rest is built on top it. We've used this foundation to build Swing-based applications at first. And now the same foundation is used for delivering responsive Polymer-based HTML5 single-page applications and GraphQL-based Web API. Such seamless transition was a testimony for ourselves that the foundation of TG is indeed robust and such that can successfully evolve to fit the ever-changing landscape of surrounding technologies.

The notion of using of a single programming language for building TG-based applications was very important to us. That is why TG includes a domain-specific language for defining Web UI in Java. The business model is at the core of Web UI where editors and actions are derived based on the type information that is captured by the model. So, it is very much declarative. A quick illustration of the Web UI that can be produced this way is provided below.

Demo App collage

Documentation and Demo applications

One of the very important aspect of any technology is the documentation and demo applications that could be used for learning. Currently, all our applications are propriatery and their source cannot be shared.

The documentation forms part of this repository (LaTeX documents in platform-docsuch as https://github.com/fieldenms/tg/blob/develop/platform-doc/doc/tg-overview/tg-overview.tex and Wiki pages). However, these are mainly the overview-type documents and design sketches. A more training-oriented documentation is in the works and will be inlined with a demo business domain for building a smaller-size demo application.

Looking into the future

We're at a very early stage of open-sourcing the TG platform and there was a lot of deliberation if this is even necessary. However, we feel that our needs are not unique and that our effort can be helpful to others out there. We owe it to the vibrant open-source community who worked hard on their projects and libraries that we use in our day-to-day work in developing the TG platform.

There are very exciting plans regarding the future TG development directions, which include, but are not limited to advanced static typing of the domain models, asynchronous EQL execution engine and self-tuning, real-time messaging and on and on. And we look forward to close collaboration with some of you in the future!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].