reflection and feedback 1 - jpehkone21/PWP GitHub Wiki
Each student should complete one different reflection section
📑 Chapter summary
In this section we would like that you reflect about the work you have done during the course.- Reflect about own learning
- Feedback on course instruction
✔️ Chapter evaluation (max 5 points)
You can get a maximum of 5 points after completing the Analysis and Reflection section. More information in Lovelace return box for Final deadline.Johanna Pehkonen
📑 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 neededThere are multiple things that could be improved in our API and client application. Firstly, the API architecture could have been designed better and more efficiently from the beginning. Now we have a lot of repetition in the implementation, due to creature, human and animal being individual resources. It probably would have been better to have some common parent class to reduce the amount of repetitive code. This would make it easier to implement changes and new features to the API. Also simplifying the architecture would make the code less prone to errors and easier to test.
The client is currently only a commanline application to demonstrate the functionality of the API. Naturally, a graphic user interface would be easier, faster and more fun to use. The client could be e.g. a mobile application or a browser extension, providing inspirational quotes to the user throughout the day.
We ended up not implementing the auxiliary service due to lack of time. For this our intention was to use OpenAI to generate characters and quotes. In the future, this kind of service could be developed and integrated into the API (e.g. path api/creatures/random/ would generate and return a newly generated character). This would be a fun addition, since OpenAI could generate creative and original characters whenever a user wants to see something new. This could also be developed further so that the user could give couple of prompt words that the AI would use to generate the character or quote (e.g. silly cat, inspirational dragon etc.).
📑 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.I would use more time for refining the API and database architecture before starting the implementation. I would choose a different approach for implementing the creature/human/animal classes, probably including some common parent class for them. This would have made the whole project easier, since we wouldn't have to write so much repetitive code and tests.
📑 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.The main difficulty we had during this project was the database design, and mainly the relation between a quote and a character. We wanted that a quote could only belong to a creature, human or an animal, so we included foreign key fields for all of them, and checked that only one was given. This was the only way we got it to work like we wanted, but there also could have been a better solution.
Mostly we found the project quite manageable and faced no other major difficulties. I wouldn't say any part was necessarily easy because implementing a full API was still new to all of us. However, implementing the client was probably the easiest part to me because I had previous experience of that. Also we decided to make the client very simple, so it didn't require many new skills.
📑 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?Overall I think the course was very well implemented. It was easy to start working with Flask without any previous experience, since the first exercises covered the basics. The project meetings were a good way to get feedback during the course. However, I don't think it was necessary to hold them as face-to-face meetings at the university. Especially if all group members were not able to come, it would have been more convinient to have the whole meeting online for everybody.
The exercises were mostly very good and useful, but Exercise 3 could be improved in the future. The setup of using limited number of VMs in cPouta was unclear and it felt that instructions were missing some steps. Getting the VM to work required a lot of setup and work, and the instructions for deploying the API could have been more comprehensive (e.g. I tried to follow all the steps but was unable to get it to work).
📝 If you have use AI during this deliverable, explain what tool/s you have used and how.
Task | Estimated time |
---|---|
Writing reflection | 2h |