-
Notifications
You must be signed in to change notification settings - Fork 1
analysis and reflection
📑 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 4.5 points)
You can get a maximum of 4.5 points after completing the Analysis and Reflection section.📑 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
✏️ The following steps are suggested to improve the EatHelp API and the client application in future:
- Adding Authentication: We could add API keys to restrict access to certain resources by only allowing some of the resource methods. (E.g. not allowing a client to DELETE a resource unless they have administrative privileges)
- Thorough Unit Testing: The API was mainly tested using different HTTP methods on Postman. We weren’t able to implement any other automated tests on the API due to a late start on the project.
- Using custom URL converters: We could improve the readability of the resource URLs by allowing different parameters in the URL and converting those to their required format, or by utilizing other unique identifiers as the parameters.
- Implementing Hypermedia
- Adding CLI commands: CLI commands will help further to install and run the API with different configurations
- Extending more error handling: We have error handling to an extent, although more error handling can be added with various status codes and descriptions for specific errors.
- Releasing newer versions: Improved versions of the existing API can be released in future
- Improving documentation: The documentation of the project can be improved to inform the users of new features and improvements.
- Feedback from users: Taking useful feedback from users would help with enhancing the implementation of the API.
📑 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
✏️
The Programmable Web Project course gave us the opportunity to learn, design, and implement a Web API using a RESTful architecture. Although it took us more time to start the project, we were able to fulfil the most crucial requirements to complete the functionality of EatHelp API on the basis of REST architecture and built the client application as well. In future, we can work dedicatedly to improve and enhance the existing features.
📑 Content that must be included in the section
Comment where you encountered the main difficulties while doing your project work. Discuss 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
✏️ The following are the individual reflections of each group member during the completion of the EatHelp Web API project:
Chubo Zeko:
- Even though I was the one who formed the group, I didn’t think that I was automatically the group leader, so ample time was wasted because no one was really taking charge of the project. I wish I took charge earlier in the semester before it got too busy. At the start I did not delegate the work efficiently, so the other group members didn’t always know which tasks they were meant to do and that ended up causing delays in completing tasks. Going through the exercises was very essential to the project implementation, including the extra course sections on Lovelace.
David Ochia:
- The group is made up of four members which include Chubo, Hamza, and Sehrish on which Chubo was the leader of the team. Although the group was formed late within the course period, we first find it difficult to properly meet for proper discussion about the project due to other commitments by other team members. However, we tried our best in our own individual time to make some effort in studying the material and gradually implement the project. As a team member, I could say the team leader (Chubo) did a good work organizing the team and assigning tasks within the short time we had. In addition to that, the team members are very responsive to the assigned task and put some effort to do as much as they could when possible.
Hamza Abdalla:
- The lack of communication between the group members was an issue as I've taken this course three times, wherein two of those times I had to drop the course because there was no communication between the team members until the point we agreed to drop the course right before the deadline. My hope is that whoever organizes the course can find a way to encourage communication between the group members.
Sehrish Khan:
- It was my first experience with building a Web API from scratch using REST architecture. Initially, I faced some difficulties in understanding the basic concepts, but later I was able to catch up with the project development. API documentation using OpenAPI tools like Swagger was interesting and made sharing the API specifications with the other developers easy. Working with this team was quite helpful. All of the group members, especially the team leader ‘Chubo’ supported me when I was not able to perform a task and helped me learn the important concepts during different stages of the design, development, and testing of the EatHelp API project.
📑 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
✏️ The feedback on the course content from the group members is given below:
- The Programmable Web Project course was meticulously designed. Students with basic programming skills could follow the exercises and build the skills needed for completing the project.
- Going through the exercises was very essential to the project implementation, including the extra course sections on Lovelace. The exercises were very essential to get started on the project. I liked the way they were organized and the amount of information provided in order to give the reader good background information before starting to implement anything, and also the consistency of the examples that we built up throughout the exercise like the Sensorhub and the Storage unit examples.
- The course material itself was very interesting and easy to follow. It gave a good beginner's foundation for those who want to further into development with Python and Flask. The material was arranged in steps or phases where tasks are split into smaller tasks for the student to complete easily and implement the project incrementally. Our knowledge of Flask and Python was improved during this course in addition to building, exposing, and consuming APIs.
- Overall, the course content was good and contained enough information to create a working API. I would have preferred to learn about API development using Node.js, mainly because I was a novice in Python programming, but at least the project helped me improve my Python knowledge.
Task | Student | Estimated time |
---|---|---|
Personal Feedback; Documenting the Analysis & Reflections | Sehrish Khan | 3 hrs |
Personal Feedback | David Ochia | 1 hr |
Personal Feedback | Hamza Abdulla | 1 hr |
Personal Feedback | Chubo Zeko | 1 hr |