= Instructions on Phase P4: First Application Prototype A minimal prototype is being developed in which the scenarios that are marked as main and made in the previous phase of the project should function. A complete application is not required, but only a small, albeit improvised prototype, with a minimum of functionalities on a live database according to the described selected most important scenarios. * The prototype should show how the basic elements of the most important scenarios would be implemented when connecting to the database. * You can make the prototype in any technology. It can also be developed entirely in the most basic programming in any programming language, with command line input and output, without having any other prior knowledge of programming full applications and knowledge of frameworks for developing applications with a full user interface and working with databases. * The prototype should be neither complex nor particularly sophisticated, since the goal is only to show that the database design is successful and can support some minimal functionality with access to the database. The completion of the application is subject to later stages. **Deadlines** The prototype should be presented at a public presentation to all other students in the course, which will be scheduled at a time of your choice at the end of January. This deadline is fixed and is a condition for continuing work on the project. Any extension will mean blocking the next stages of the project, which are necessary for assessment and reduction of points. At the request of a group of students, presentation times can also be organized before or at the very beginning of the examination session. **Details on the development** What must be developed: * Each team member must have implemented at least one scenario from the list of most important use cases described in P3. * The scenario should function in such a way that at no point will the user be expected to remember identifiers and codes, but all necessary choices will be listed and if some data needs to reference some other data, the necessary reference will be selected from a list instead of entering codes that they need to remember * At least 3 scenarios from the list in the previous phase must be implemented In the prototype and documentation, do not use images, materials and examples for which you have not explicitly obtained the right to use. It is not enough that they are available somewhere online, if you want to use some materials, it needs to be under a license that covers your type of usage. For the final evaluation of your application prototype, in order to form a grade for the course, you need to have the following elements in the documentation: * Create and link a wiki page called **PrototypeImplementation** linked to the main project page in the appropriate phase. * A short presentation of each of the implemented use-cases, documented on the PrototypeImplementation wiki page. The documentation is in the form of the original documentation for each of the cases, as in the previous phase, but expanded with the actual implemented SQL statements in each step and screenshots of each step, placed respectively on the **UseCaseXXXXPrototypeImplementation** pages that will be linked from the **PrototypeImplementation** page. * Your source code should be published in your git repo assigned for your DEVELOP project/documentation site. * Short instructions on how to compile, package and run your prototype from the source code posted on DEVELOP, should be published on the **BuildInstructions** wiki page, linked to the **PrototypeImplementation** page. Template for the prototype implementation wiki page. {{{#!box information = Prototype Implementation Implemented use-cases: * UseCaseXXXXImplementation * ... }}} Template for the use-case implementation wiki page. {{{#!box information = Use-case XXXXX Implementation - Use-case title Initiating actor: Other actors: Description of the use-case goals in several sentences. Scenario: 1. User does what. Screenshot. 2. System does what. Screenshot. If the system accesses the database, include the exact SQL command to detail what data will be needed from the database, or what data will be modified in the database. Show real and tested SQL commands. 3. ... }}} The **BuildInstructions** wiki page should contain the following information: * What software is required to compile, build, install, configure, and launch your project * An explanation of how to test the application once it is launched: * If it is a web application, where to launch it and what usernames and passwords it will use, if it is a desktop or mobile application, how to launch it and what usernames and passwords it will use * A step-by-step mini-guide that lists the main elements of the application and how to use them {{{#!box information = Build Instructions Development environment description Build instructions Testing instructions }}} Up-to-date source code sent via git to DEVELOP: * This is not required for a public prototype presentation, but is required for the evaluation of P5 and before continuing to P6 and P7. * Instructions for accessing the repositories will be available in EPRMS in the Repositories section. About the source code: * all source code needed to run your prototype application * the source code from the application * scripts for generating tables in the database * scripts for sample data in the database tables * do not send additional work that is not yours with the code * if you use other people's codes - remove them and write a script that will download everything you need from where you need it or specify in the instructions details for building an executable version that will automatically download everything plus what is needed * if you use other people's frameworks and styles - remove them and write a script that will download everything you need from where you need it or specify in the instructions details for building an executable version that will automatically download everything plus what is needed * if you use other people's libraries - remove them and write a script that will download everything you need from where you need it or specify in the instructions details for building an executable version that will automatically download everything plus what is needed * if you use other people's executables - remove them and write a script that will download everything you need from where you need it or specify in the instructions details for building an executable version that will automatically download everything plus what is needed * if you use images in the project that are not yours - remove them and write a script that will download everything you need from where you need it or specify in the instructions details for building an executable version that will automatically download everything plus what is needed If you do not want your source code and/or project to remain publicly available, you can change the privilege settings of your project site in the administration section - to be available only to certain groups of users. If you need help with this setup, contact your teacher. **AI Use** You are free to use an AI to improve your coding, provided that you adhere to the following rules: * you use AI in this phase of the project only to improve your own initial code * you use AI to create alternate code for ideas that you can borrow and use in your own code * you document the changes you have made to your own model based on the ideas from the AI tool in the model history above * you document the entire usage of the AI tool in a new wiki page named **PrototypeImplementationAIUsage** linked here, that you structure according to the following template {{{#!box information = Prototype Implementation AI Usage **Name of AI service/solution that was used** URL: Type of service/subscription: **Final result** Results in details / description: **Entire AI usage log** 1. Line-by-line Log of all interactions with the AI (prompt and response) 2. ... }}}