{"id":14973154,"url":"https://github.com/abixen/abixen-platform","last_synced_at":"2025-08-23T20:16:29.952Z","repository":{"id":12424342,"uuid":"71328643","full_name":"abixen/abixen-platform","owner":"abixen","description":"Abixen Platform is a microservices based software platform for building enterprise applications delivering functionalities through creating particular microservices and integrating by provided CMS.","archived":false,"fork":false,"pushed_at":"2022-06-21T00:03:20.000Z","size":85600,"stargazers_count":680,"open_issues_count":85,"forks_count":210,"subscribers_count":99,"default_branch":"master","last_synced_at":"2025-04-04T00:10:06.337Z","etag":null,"topics":["analytics","angularjs","architecture","aws","business-intelligence","businessintelligence","charts","cloud","dashboard","data-analysis","data-analytics","data-visualization","low-code","microservices","netflixoss","reporting","spring-boot","spring-cloud","sql-editor","visualization"],"latest_commit_sha":null,"homepage":"http://www.platform.abixen.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abixen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-10-19T07:04:44.000Z","updated_at":"2025-04-01T01:29:33.000Z","dependencies_parsed_at":"2022-08-24T06:00:15.009Z","dependency_job_id":null,"html_url":"https://github.com/abixen/abixen-platform","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abixen%2Fabixen-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abixen%2Fabixen-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abixen%2Fabixen-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abixen%2Fabixen-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abixen","download_url":"https://codeload.github.com/abixen/abixen-platform/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631712,"owners_count":21136559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analytics","angularjs","architecture","aws","business-intelligence","businessintelligence","charts","cloud","dashboard","data-analysis","data-analytics","data-visualization","low-code","microservices","netflixoss","reporting","spring-boot","spring-cloud","sql-editor","visualization"],"created_at":"2024-09-24T13:48:13.867Z","updated_at":"2025-04-12T20:46:45.442Z","avatar_url":"https://github.com/abixen.png","language":"Java","funding_links":[],"categories":["数据科学"],"sub_categories":["计算机视觉"],"readme":"[![Build Status](https://travis-ci.com/abixen/abixen-platform.svg?branch=master)](https://travis-ci.com/abixen/abixen-platform)\n\n# What is Abixen Platform\n\n## Short introduce\nAbixen Platform is a microservices based software platform for building enterprise applications. \nThe main goal of the project is a creation of functionalities through creating particular microservices and integrating by provided CMS.\n\nAll you have to do in order to create an entirely new functionality is to implement a new, separated microservice.\nNow you can register it in Abixen Platform and start using by delivered configuration wizards and CMS.\nThere is also an Abixen Platform API, which allows you to accelerate the process of new microservices creation.\n\nA sample application built using Abixen Platform can look like in the following screenshot:\n![Abixen Platform Demo](documentation-image/abixen-platform-demo.png \"Abixen Platform Demo\")\n\n\nAbixen Platform's organizational division consists of pages and modules. \nUser with appropriate privileges can create any page and select a layout. \nFinally, add to the page instances of modules deployed on Abixen Platform. \nEach of the modules can have many instances, configured by different parameters.\n\nOne of the most important mechanisms built-in into Abixen Platform is own security system, which\nensures a full control access to pages, modules and even the data displayed and used by the modules.\n\t\t\nAbixen Platform delivers out of the box functional microservices. \n\t\t\n**Business Intelligence Service is one of the delivered functional modules.**\n\nThis module allows to do reporting charts and tables. A business administrator can create the charts and feed it by a following flow:\n* Create a database connection to one of supported databases (H2, MySQL, PostgreSQL, Oracle, MSSQL). Instead of database connection, there is an opportunity to use an excel or CSV file\n* Create a data source using above database connection or file.\n* Add a new business intelligence instance on a page\n* Configure a chart series selecting a data source\n* Set permissions for particular users' roles\n\n**Web Content Service is another one of the delivered functional modules.**\n\nThis module allows to do articles. A business administrator can create articles in two ways:\n* Simple Web Content (just fill out a simple form with rich text editor)\n* Advanced Web Content (using structures and templates)\n\t\t\nThe spectrum of possible modules developer can create is unlimited. \nThere can be e.g. modules showing data in a tabular way, modules of data entry, \nwhere users enter data, edit and present.\n\t\t\nThe main architectural emphasis was placed on the rapid creation of new modules. \nTherefore, an original architecture has been implemented based on microservices, which\nallows to create modules functionally independent of the other elements. \nWhen programmer creates a module, compiles only his module and his microservice. \nThis provides a tremendous time saving comparing to monolithic systems.\n\n## Technology stack\n![Abixen Platform Microservices Technology Stack](documentation-image/abixen-platform-microservices-technology-stack.png \"Abixen Platform Microservices Technology Stack\")\n\n## Architecture overview\nOne of the biggest advantage is the architecture based on microservices concept. \nWith loosely coupled components, it opens up a possibility of a efficient division of work between development teams and for a simple and inexpensive system maintenance.\nCreating a new module, a new functionality, a developer must not interfere with the existing source code. He can create a new microservice, being a separate spring boot application. \nThen, implementing necessary interfaces achieves opportunity to integrate the newly created microservice with Abixen Platform structure.\nFinally, a business administrator may use it over the platform.\nAbixen Platform supplies out of the box a few functional modules closed in the Business Intelligence Service and in the Web Content Service.\nThis is a good example, how to create the own microservice.\nMentioned services provide mainly visualisation functionalities, such as charts, micro charts, KPIs. As well as a web content management, such as templates, structures, articles.\nHowever opportunities to develop data entry modules are still opened!\n![Abixen Platform Microservices Architecture](documentation-image/abixen-platform-microservices-architecture.png \"Abixen Platform Microservices Architecture\")\n\n## AWS compatible\nAbixen Platform is fully compatible with AWS cloud and utilizes the following services:\n\n   * **EC2** - used as a base for hosts running docker in ECS Cluster\n   * **ALB** - modern version of load balancer aligned with microservices architecture topology\n   * **ECS** - container orchestrator and scheduler for all services running as docker containers\n   * **ECR** - private container registry for docker images\n   * **Route53** - allows to use internal dns names for communication between microservices\n   * **CloudWatch** - used as a central monitoring and logging\n   * **Elasticache** - used internally by Abixen Platform components\n   * **RDS** - database store for all components\n   * **SES** - used for email communication\n   \n![Abixen Platform AWS Deployment diagram](documentation-image/abixen-platform-on-aws.png \"Abixen Platform AWS Deployment diagram\")\n\n## Logging and monitoring\nAll containers from Abixen Platform send logs to [Elasticsearch](https://www.elastic.co) via [Logstash](https://www.elastic.co/products/logstash). You can use [Kibana's](https://www.elastic.co/products/kibana) interface as well.\nAll metrics are exposed on each component with [Jolokia](http://jolokia.org) and fetched from there using [Telegraf](https://influxdata.com/telegraf-correlate-log-metrics-data-performance-bottlenecks/). They are sent to [InfluxDB](https://influxdata.com/) and are accessible on [Grafana](https://grafana.net) dashboards\n![Abixen Platform Logging and Monitoring](documentation-image/abixen-docker-infrastructure.png \"Abixen Platform Logging and Monitoring\")\n\n# History\n\nAbixen Platform has been started in March 2015 by Mariusz Kumor (\u003ca href=\"https://www.linkedin.com/in/mariuszkumor\"\u003esee LinkedIn profile\u003c/a\u003e). \nPreliminary the main idea was to learn more about microservices, \nSpring Cloud stuff and extend knowledge about AngularJS.\nThe project was developing to December 2015 at free time.\nSubstantial part of the time involved analysis and prototypes. \nSince that day it took some time but now, \nin October 2016 he decided to publish the source code on GitHub. \nAs well Mariusz Kumor decided to begin further development.\nThe great motivation were flattering words of his friends, \nalso some companies about the project and its ideas.\n\n# Give a Star ⭐\nCreating this product I put emphasis primarily on quality and value for end users. It is also very important for me that the software is built based on the cutting-edge technologies (but in the same time stable ones) and the best design patterns and practices. As you can guess, it takes a lot of time, and the product is open source - so everyone can use the effects of my and other Contributors work for free. If you like this project, learned something or you are using it, please give it a star ⭐. This is the best motivation for me to continue on. Thank you!\n\n# Share It\nThere are not many similar open source products like this type of application. If in your opinion this repository makes a difference and deserves it - please share it with your friends, mates and on social networks. I will be very grateful.\n\n# Known issues\n\nThere are some known issues. We work on fixes and improvements.\n\n* Not all translations are done\n* Multi Visualisation Service needs some user interface improvement and optimization. Also needs more tests.\n* In some places CSS is not perfect\n* There is a small technical debt (non functional issue)\n\n# Get it started\nThe documentation is available under https://github.com/abixen/abixen-platform/wiki page.\n\n# We are looking for experienced Contributors\nAre you good at Java and / or frontend technologies like AngularJS, CSS, HTML?\nOr maybe are you an UI/UX expert and you are willing to enhance Abixen Platform's design?\nWould you like to join geek guys? \nIf so, we are ready to do short but powerful training for you from Abixen Platform.\nAfter the training you will be able to develop together with us the amazing Abixen Platform.\nJust mail us **info@platform.abixen.com**. In a message please let us know, why would you like to contribute and what could you bring to the project.\n\n# [How to contribute to the repository](CONTRIBUTING.md)\n\n# License\n\nCopyright (c) 2010-present Abixen Systems. All rights reserved.\n \nThis library is free software; you can redistribute it and/or modify it under\nthe terms of the GNU Lesser General Public License as published by the Free\nSoftware Foundation; either version 2.1 of the License, or (at your option)\nany later version.\n\nThis library is distributed in the hope that it will be useful, but WITHOUT\nANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\nFOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more\ndetails.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabixen%2Fabixen-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabixen%2Fabixen-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabixen%2Fabixen-platform/lists"}