This user agreement is a public offer (i.e. an offer to conclude agreement). By pressing the keys that mean sending us your contact information, you considered to join him.
Good afternoon! We are glad to welcome you on our website! We bring to your attention an agreement on processing personal data.
For economic, organizational, and sometimes legal reasons, the Agreement periodically subject to change. The Site Administration does not have the ability to send to Users notifications of such changes, so we urge you to periodically visit this page to check if something has appeared here that is contrary to your beliefs and principles.
If you, as a User, do not agree with the changes made, you always have the right to refuse access to the Site and stop using its materials.
If you believe that the Agreement or the actions of us as the Site Administration violates your rights, do not be silent, write to us about it by e-mail:email@example.com
Purpose of processing personal data: providing to the client, subscriber individualized information services, in particular the use of his data for registration on Site, registration for events of the Site, advertising purpose, newsletter e-mail.
The company undertakes not to transfer your personal data to third parties and to maintain their safety and privacy.
This consent to the processing of personal data is valid indefinitely, but may be revoked subject personal data on the basis of a personal application sent by e-mail to the Administration Site.
GoCore can safely store various files, such as contracts. When loading through the interface the system’s file ends up in a private directory, access to which is not accessible from the outside, a record is created about it file and a link to it is affixed to the corresponding entity, for example, “Counterparty”. For When downloading such a file, the system provides a mechanism that, when requested to receive this file creates a temporary link by which the file will be returned. This link will only work for the user who requested the download and for a limited period of time. After downloading the file or after the time expires, the link will become invalid.
GoCore has an access sharing system. Access can be assigned to each method.
any class, as well as for any client object of this class. For example, a user may
view the table, but does not have permission to open the record in the form. Or has access to one table
class, which provides a minimum of information, and access to the full table is closed.
In addition, it is possible to provide access only to certain records. For example, when When creating a new project, the manager can specify a list of users who have access to it. Wherein it remains possible to specify the type of access, or rather the methods that are available to the user when work with this record. For an example project, it might look like this: some users can see and change the project, others only see, and the rest do not even know about its existence. Accesses are inherited. By giving access to the project, the user will get similar access to his children entities, for example, project files. However, this behavior can be changed and granted access only to project data, but prohibit working with its files.
GoCore has a role system. You can configure accesses for the user role, and yourself assign this role to the user. The user can be assigned any number of roles, their permissions will be added, except when for a role a method will be strictly denied, then the user will not get access to this method, even if in other roles he will open. In addition to roles, the user can be configured with personal access, he will work like this same as another role.
The caching system allows not to re-access the database if the data on which is carried out the request did not change and other conditions did not change that could affect the result of the request, for example, user access to data. Since all interactions with the database are carried out through a single class, and also, thanks to the class profile system, GoCore can accurately track all changes and selectively flush request cache. This is useful not only for requests from the client, but also for requests, which the system does automatically, pulling up data from various directories.
Another very important GoCore mechanism is the rollback system. When a developer implements some kind of
logic, it often affects successive state changes in many entities and in the case of
If an error occurs at any stage, it is necessary to return the data to its original state. Gocore it
do it yourself.
For any operation related to data change, you can save a stack of changes, then in the case of erroneous carrying out this operation, a technical support specialist can easily return to the original state. We recommend that developers keep all operations that cannot be undone by normal means of the system (finished product).
In some cases, you must be able to lock the recording. For example, when an operation requires perform several consecutive changes in various entities and you need a guarantee that the data requested at the beginning of the chain and used for calculations, were not changed at run time other stages. GoCore provides such a mechanism and its use is simple and transparent.
Any requests to the system are possible only after authorization, except for the authorization request itself.
Users are divided into types, such as system users, users of external systems, in
including for integration with the site. Users of external systems have a limited set of methods.
In addition, these access to these methods can be, as well as for ordinary users,
limited to roles.
Authorization occurs by login and password. Not the password itself is stored in the database, but its hash and salt, which is not allows you to find out the password, even if the attacker manages to obtain data from the corresponding table. When you log out, in addition to directly deleting the session to prevent data from being received unauthorized user, all connections of this user are sent a signal about the exit and the client side sends the user to the authorization page. This is necessary because the system can be opened by the user in several tabs and it is important that after exiting there was open data.
This mechanism will most easily be described with an example. Suppose we have goods in the system categorized. Goods have various characteristics, which also have some structure, for example, they can be of different types and for characteristics with the type “drop-down list”, among other things, there is still a related table with values. We want the category to be table with goods from this category. Moreover, in the product table, in addition to the columns of the product itself, its characteristics that can be changed were listed, and so that to change one or another Characteristics was a suitable editor. Among other things, we want to limit the list characteristics for a particular category, which will be in the table of its goods. So for each categories we will have product tables with different sets of fields and from different tables. Mechanism allows settings in the system to implement similar tasks, after which it will be possible to specify for any field any editor, the column order in the table, and generally everything that can be specified for ordinary fields.
GoCore has mechanisms for working with Excel and pdf. To develop a report, the developer will need create a template in Excel using simple rules, and write a collection of the necessary ones in the system data. The complexity of this task is determined by the workload of the report, and there are tools for development. There are also examples on the basis of which you can easily master the principles of working with the template engine.
GoCore has developed a module that provides audio and video communication between users of the system. Also this module can be connected to the site.
There is a separate GoCore branch, on the basis of which sites are built. She also has her own base, and her admin interface, however, as a rule, data is stored in the main system and requested from her. In the site database, only various site settings are stored. To receive (save) data from (c) the main system (e) the protocol is used. Integration in this kernel branch is already provided. The connection between the systems is established in the same way as with the client part of the system, based on web sockets.
Upgrading production versions, always and on all systems, has been and remains a challenge. In our case
the most problematic part is precisely the tables describing classes and client objects (profiles).
When developing new functionality, data in these tables will inevitably be added and changed, with
In production, these tables also change. Part of the changes are made by the administrator by configuring the fields
more convenient or adding some kind of filter, part is generated automatically, for example, when creating
a new “product characteristic” with a type of drop-down list (for the reference list of this list is generated
We have created a mechanism that allows you to compare the structures and settings of each class, client object and their fields. For missing classes / client objects / field system suggests adding them; for new ones, deleting; for changed ones - correcting the value (old and new value is displayed).
The administrator has the ability to decide what exactly needs to be updated. Such a decision allows a server with combat data (of course pre-production is used) to selectively fill in a new structure. It is also possible to compare and update the menu.
There is a mechanism that sends the entire server console to the administrator of those. console support real-time browser. To do this, he will need special privileges. User passwords do not get into the server console.
Thanks to how GoCore implements methods, validating data in basic methods and the Style Guide for developers, most errors are detected at the development stage. And after testing the occurrence errors that are not user-generated, that is, do not serve the purpose of conveying information to user, extremely rare. The code is clean and easy to read.
When developing methods for custom classes, the developer has neither the need nor the ability use SQL code and direct database query. Instead, they call the base class method passing parameters. GoCore will collect the SQL itself and execute the query. This will exclude all forbidden fields, table and column names will be taken from the class profile, which excludes the possibility of substituting malicious or illegal SQL there. All meanings, whether meaning for overlapping WHERE or the value of the field in the record being edited or whatever is escaped. All these measures eliminate the possibility of SQL injection, and simplify the development process.
When developing on GoCore key blocks are standardized code such as requests between client and server, inside the server, server and the database, server, and external systems on GoCore, such as a site. Standardized constructions of such requests and responses to them.
As well as file structure and file structures for various purposes, processing rules errors, marking functional chains with rollback labels, client forms, tables, integrated plugins and more. Standardization minimizes the likelihood of errors by not allowing different developers write code “in your own way”. Beyond Standards to specific code nodes, there is a common, global sequence paradigm project development, providing a stable forward movement in project development.
To teach a new programmer how to work GoCore only 3 days.
We provide our own training system to your to developers.
After completing 3 training blocks, your specialist will be able to develop on the GoCore platform both on the Back-end and Front-end.
Click on the module,
to find out more
Create your first project in 8 hours after treatment
Scheme interactions GoCore components
Introduction to the GoCore, acquaintance with interface and global architecture;
Download, installation, configuration, git, lets go;
Class structure and client objects creating tables.json;
Creation of client tables, forms and frames.
Functional code development, file structure and in-file structure;
Code constructs, requests, answers, where, internal IPA;
Operations, libraries, important little things.
Link to the site;
Customization, types of editors, plugins;
In-depth customization, filters, searches, sorting;
Overview of underlying functions and mechanisms for advanced, advanced training.
You can always be able to teach team develop on GoCore
Alexandr GoptarevFounder. Developer and ideologist
Isa YakhievLead developer
Swipe to see
all built-in integrations
Alexandr GoptarevFounder. Developer and ideologist
Isa YakhievLead developer
Commercial Property Management System
An international cloud platform designed to integrate environmental research with taxonomic knowledge and experience.
The system of advancing the trade turnover of small and medium-sized enterprises together with VTB.
Aggregator for search and rental of venues for an event of any format and scale.
Aggregator of the full cycle of video and audio consultations online, per-minute billing and personal accounts specialist and user.
Full-service cloud ticketing system with a huge number of functions. One of the first of its kind.
New online store of construction goods, dozens of suppliers, excellent service for business and private owners.