As this is not just a project, but an exam, no late submissions will be accepted.
Any algorithms (especially the search/string matching algorithms) must be your own. Don’t be fancy. I am not marking you on your algorithm’s efficiency
Do not use libraries or packages not used in class material.This exam must be done individually. Do not discuss it with anyone.
Create a Spring Boot application (Thymeleaf enabled html, Controllers directing flow of the program, various dependencies, H2 database) that will generate a square matrix for a user . The user will provide the program with the length of a side of the square. However, the minimum length of a side is 5. Fill the square matrix with letters of the English alphabet using a random process. The user must be able to visually see the square matrix and the letters in each element of the matrix (in an html form).
Now here comes the fun part. The user must be prompted (in an html form) to provide the program a string of characters. The program will determine if the string the user provides exists in the square matrix!!! Your program should check all directions of the grid. The program will also check for the string in backwards and forwards directions .So if the string the user wants to search for is xtydf , if the program finds fdytx (even along the diagonals) , that counts as a success.
Whether the search is a success or failure, appropriate feedback is given to the user.
Have a text file with 50 words in it of various lengths
If the user selects to create a matrix whose side is greater than 14, rather than simply creating a matrix with random letters, the program will randomly select at least 5 words (but no more than 10) from the aforementioned text file. The number of words selected increases with the size of the square. These selected words are to be put in the matrix .The words must be put in various directions (8 directions and forwards and backwards along these directions)
Once again the user must be able to see this matrix.
The user will test and see if certain words can be found. To make my life easier your application should create another text file that contains the words selected from the other text file.
•Your entire project submitted in a zip file (zip , not rar)to the appropriate drop box in SLATE
•A professional looking Pdf explaining
• how you searched for the strings(ie your algorithm(s))
• Program Design
o Explain how your classes are interrelated
o Explain what OOP concepts you explicitly used
• How to use your system (from start to finish)
• Video Recording of you navigating through your system, explaining what is going on.
o Show me in the video where you use the various OOP concepts in your code
o Explain to me the collections you used and where to find them.
o Submit a text file indicating the times you discuss certain topics in the video.
o Video must be under 20 Minutes.
• Creating the matrix in Part A : 5 Marks
• Creating the matrix in Part B : 20 Marks
• Am I able to find the words that I am looking for in Parts A and B: 30 Marks
• Intuitive use of interface (I don’t want to struggle with how to figure out how to use your interface) 10 Marks
• Elegant looking 10 Marks
• Wow Factor 5 Marks
• Form Binding: 5 Marks
• Use of Beans: 5 Marks
• Input the user’s name and other info about the user in an H2 Database: 5 Marks
• Option for the user to continue or stop playing after 1 game: 5 Marks
• Something that makes your application stand out from others: 10 Marks (whatever this something is, make it relevant to the task at hand)
• Program does not crash or stop working unexpectedly 20 Marks
The pdf and video recording are worth no marks. But if you do not provide either of them you will get a mark of 0 for the mid term. And of course you will lose marks on a poor quality pdf and a poor quality video recording
Anything other than a Spring Boot Application will get a mark of 0.
Please do not ask me any design issues.
Such a cheap price for your free time and healthy sleep
All online transactions are done using all major Credit Cards or Electronic Check through PayPal. These are safe, secure, and efficient online payment methods.