Skip to content

analysis and reflection

KhanSehrish edited this page Jun 2, 2022 · 8 revisions

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

✏️ Following steps are suggested to improve the EatHelp API and the client application in future:

  • Adding Authentication: We could implement 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 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 the 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: currently, we have added error handling, more error handling can be added by attaching internal codes and description regarding errors

  • Releasing newer versions: Improved versions of the existing API can be released in future

  • Improving documentation: For helping the clients with new features and improvements

  • Feedback from users: Taking useful feedback from users to try it once and using their feedback as an input for enhancing the implementation of the 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

✏️

The Programmable Web Project course allowed us the opportunity to learn, design, and implement a WebAPI using the REST architecture. Although, it took us more time time to start the project, but we were able to fulfill the most crucical 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.

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

✏️ The individual reflection during completion of the EatHelp Web API project are listed below:

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.
  • 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: **

  • This is a reflection on our group work on a course Programmable Web Project. 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 try our best in our own individual time to some effort individually to study 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, i took this course three times two of them i had to drop because there were no communication between the team members until the point we agree to drop the course together right before the deadline. so i hope that whomever organizing the course again can find a way to encourage the communication between the group members.

Sehrish Khan:

  • It was my first experience with building a WebAPI from scratch using REST architecture. Initially, I faced some difficulty to understand the basic concepts, but later I was able to catch up with the project development.
  • API documentation Using OpenAPI tools like Swagger interesting and makes sharing the API specifications with 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 design, development, and testing of the EatHelp API.

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

✏️ The feedback on the course contents is given below:

  • Programmable Web Project course was meticulously designed. Students with basic programming skills could also follow the exercises to 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 are very essential at least for me to even start working on the project. I liked the way they are organized and how 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 example that we build up through out the exercise like the sensor hub or the storage unit.
  • The course material itself was very interesting and easy to follow up. It gave a good beginner's foundation for those who want to further into development with flask. The material is arranged in steps or phases where tasks are split into smaller tasks for the student to follow up easily and implement the project incrementally. Overall, my knowledge about flask and python was improved during this lecture 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.

Resources allocation

Task Student Estimated time
Clone this wiki locally