Logo webu
Are you interested in studying at Unicorn University? Sign up for an open day and find out more.

Backend Systems

9 ECTS
Bachelor
Czech | English
Michal Kökörčený

The course aims at providing students with an insight into backend development. The course deals with topics from backend system development, related areas of object analysis and design, ways of technical backend implementation, using relational and non-relational databases for backend data persistence, ways of testing and forming the documentation. Completing the course gives a student an ability to participate in the backend part of information system development. Students use NodeJS and the JavaScript programming language for the technical implementation.

Course outline

Essential concepts of backend systems

Information system architecture
Layer architecture, the FE and BE division, micro-services, a more detailed view of the backend structure.
Fundamental concepts of the backend system architecture
Services (uuCMDs), model/dao/data entity persistence, authentication, authorisation, error handling, scaling etc.

Analysis and design

Object-oriented analysis and design
Principles of assigning responsibility, high cohesion, tow coupling.
How to create and describe the backend design correctly
A typical design structure, tools, essential patterns.
Basic design levels, the design structure
Conceptual design, detailed design.
Conceptual design
Describing the architecture, examples.
Detailed design
The documentation of services and their internal implementation.

Technical backend implementation

Ways of backend implementation
The most frequently used technologies and their comparison, examples.
A detailed look at implementing backend in NodeJS/JavaScript
Implementing basic elements of backend architecture, service implementation (REST services), Data Access Object, database connection, transaction.
Implementing further architecture backend concepts
Authentication and authorisation, error handling, validation, logging.

Database use – relational and non-relational

Relational database
Essential characteristics, advantages, disadvantages, the SQL language, transactions, normal forms.
Advanced concepts in a relational database
Indices, partitioning, SQL views.
Advanced SQL language use
Queries over multiple tables, sub-queries.
Non-relational databases
Basic types of non-relational databases and their characteristics – document, key-value story, object, RDF, when to use a given database type.
Document non-relational database
Basic principles, documents, collections, indices, queries, ensuring high performance and availability.
MonogoDB
Introduction, installation, basic operations, queries, indexing, replication, backup.
Advanced MongoDB use
Relations, database references, map reduce, using regular expressions, advanced indexing.

Testing and other topics

Backend testing principles
Test types (the commit phase: unit, componential, integrational; the acceptation phase: functional, performance, security), test automation, suitable tools and approaches.
Other relevant topics
Code revision, static code analysis.
Source code administration
Source code repository (GIT), versioning, branching. GitFlow.
Development pipeline. Continuous Integration, Continuous Delivery/Deployment, containerisation (Docker).
document_check.svg
We use cookies on this website to ensure its functionality and to personalise ads, solely with your consent and in accordance with our Cookies Policy.

By clicking on the "Accept cookies" button, you consent to the use of selected cookies and agree to the transfer of behavioural data for the display of targeted advertising on social and advertising networks. You can choose which information you want to share with us by clicking on the Cookie settings button.