PRO3ENG.rst

Programming Laboratory

Project

Project

Final project requirements:

Creating a server application and a independent client that will interact between each other using REST API.

The server application should provide the data model for frontend in terms of: adding, deleting, editing, searching (listing) objects from the database. All assumptions as to the data model described for increment II are still valid - 10 pkt

In addition, the application should have endpoints providing for each table one simple statistic: the number of elements, a set of categories (if it has sense), the average (if it makes sense), the best team (if it makes sense) etc. - 10 pkt

The server application must use a database engine such as PostgreSQL, MySQL, MSSQL or similar. Communication between the server and the frontend must take place via the REST API. - 25 pkt

The frontend application must be able to run independently (disconnected from the server application). The frontend application is to enable editing, adding, deleting data from the database and displaying them in the form of a table, in addition, the overall view of the table should be different. - 25 pkt

The backend application should be launched on an independent application server (eg Tomcat) - 10 points

In addition, the application should be extended with a single feature which were not discussed in the classroom such as: adding the "user session" service, integration of database support in the form of Liquibase, integration of Spring with another library, adding report elements (charts, summaries) on the front, adding tests to application, adding load tests, partitioning the database, adding a balancer to Tomcat, any other invented by the author. The student chooses himself which aspect of the application he would like to extend and to what extent - 20 pkt

Dalay in presenting the final application - loss of 25% of points for each week of delay.

In the case of not obtaining a total of 50% of points, for the subject the student is obliged as a "second attempt" to:

Present all missing projects.
Prepare material for single selected classes based on other technologies (different programming language, editor, program etc.)