analysis and reflection - psaarine/PWP-Pyry_Jari_Markku GitHub Wiki

Important information for final deadline

‼️  This chapter should be completed by final deadline (see course information at Lovelace)


📑  Chapter summary In this section we would like that you reflect about the work you have done during the course.

SECTION GOALS:

  • Reflect about own learning
  • Feedback on course instruction
In this section we are going to evaluate also the project management


✔️     Chapter evaluation (max 4.5 points) You can get a maximum of 4.5 points after completing the Analysis and Reflection section.

Analysis and reflection

Future Work


📑  Content that must be included in the section Explain how you would improve your RESTful API and your client application. Try to develop the ideas, and explain why each improvement is needed


✔️     Evaluation criteria(max 1.5 points)
  • Future work is provided and carefully thought out: 1.5

✏️ Looking to the future, of course, the application can be developed to be more “streamlined” on the graphical side, ie the application could be developed looking much finer. Of course, in terms of layout, it still looks quite simple. In terms of usability, it can well be developed further.

Paymentplans also need some unique name to it to make storing them easier. It was almost impossible to find a combination of values that would be unique since model information cant really be part of the paymentplan url since models are added later. We would make a new attribute called something like "payment-name" that would be unique.

Also adding optional image field to Model that would store links to images would make it a lot more streamlined to use Imgur API.

Lessons learnt


📑  Content that must be included in the section Discuss in this section the things that you would have done differently if you started the project after this course ends.


✔️     Evaluation criteria(max 1.0 points)
  • A short reflective description of what was learned while working on the project 1.0

✏️ During the development of the project, it has become clear that the programmable web is not only HTML, JavaScript or CSS programming, it is also clearly necessary to be able to build a separate database for the web site on a local server for example. There could be even more time for this, as there is usually no equivalent. The use of Python and Flask in building a database has its own challenges, therefore it is generally thought that high-level programming languages ​​are used to build such databases, e.g. programming on Java.

✏️ Web programming with Python and Flask can produce the same user interface as "normal" HTML and other scripts. Using Flask and Python for web programming can be more tedious than using other programming languages. But if you learn Flask you can do a way lot more. Learning can take a long time but the outcome is sophisticated. The code produced code is easier to read and also shorter depending of the application.

Also I think we should approach development more from the structuring point of view. I realise I spent way too much time on crafting fine details of our application when the structure of our API was not ready yet resorting to lots of wasted effort since all of my details weren't even used in the final product.

Comments about the project


📑  Content that must be included in the section Comment where you encountered the main difficulties while doing your project work. Discuss about the easiest/most difficult parts of the project. Provide convincing statements.


✔️     Evaluation criteria(max 1.0 points)
  • A short reflective description of the easiest/most difficults parts of the projects 1.0

✏️ Frankly, when doing a project, one cannot simply distinguish between the “easiest” and “most difficult” areas. However, it is quite familiar HTML, JavaScript and CSS, because dealt with them in the past. Python is a fairly straightforward programming language, but there is quite a bit of a difference in it than example C languages. Flask was quite unknown as it has not been dealt with before, it may be that someone may have been dealing with Flask in the past. For example, building databases produces its own challenges, it requires constant testing, because there may be errors somewhere in the code, and in the case of Python, for example, it does not report errors when writing code, only at the testing stage it may report errors.

✏️For myself the Python is somewhat familiar but still there is a lot to improve. Flask on the other hand was totally unfamiliar, before this. It was quite hard in the beginning to figure out how to work with Flask but until the end it becae more familiar. There is still lot of blanks concerning Flask. It would have been better if I had prevoious knowledge about Flask and the hypermedia stuff. Maybe it would be good if there was a course for Flask before the project. I surely would have needed one. This would help those who do not have that much background in programming.

For me the most difficult part of the course was planning out my project before I even knew what it is that I was supposed to be doing. I had to change my plans later because turned out that I had not understood everything correctly before it was time to implement it.

Comments about the course


📑  Content that must be included in the section Make sincere comments about the course. How this course could be improved? What should be changed? What should not be changed?


✔️     Evaluation criteria(max 1.0 points)
  • Useful course feedback - what we should change, what we should keep: 1.0

✏️ I think the course could be developed to be more clearly divided into the actual study of web programming (HTML, JavaScript, CSS) and web database server programming (Python, Flask). More contact teaching in official programming. However, this year is due to exceptional circumstances, cancellations of contact teaching are understandable.

✏️ Maybe there could be an introductory lecture sessions/course for Flask before dwelling into the project. For those who do not know anything about Flask would help them in digest the information a little bit at least. But as a whole the course was interesting.

The golden rule of public speaking is "Your audience understands way more than you think but they know way less that you would presume". It took me a long time to even understand what is API and what is its relation to database and client. I would suggest you to try and find ways to explain some of the main concepts in a really understandable way even if you risk repeating things that students already know.

Resources allocation

Task Student Estimated time
Filled final DL Jari Jussila 1h
Filled final DL Markku Hannula 1h
Filled final DL Pyry Saarinen 1h
⚠️ **GitHub.com Fallback** ⚠️