Skip to content

analysis and reflection

Kavindu Ravishan edited this page May 16, 2023 · 24 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

✔️     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.

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

✏️ Write here your text


In the future, we plan to improve our email notification service in several ways. One area of improvement is to add support for email templates that allow users to customize the content and appearance of their emails. This will provide more flexibility and enable users to tailor their messages to different audiences.

Another area for improvement is to implement more advanced email scheduling options. Currently, our service only supports immediate email delivery, but we plan to add the ability to schedule emails for future delivery or to send recurring emails at regular intervals.

We also plan to enhance our system with additional email notification triggers, such as automatically sending confirmation emails to users when they sign up or receive an order, or sending reminder emails when an event or deadline is approaching.

Furthermore, we plan to add support for multiple email service providers, beyond just AWS SES. This will enable users to choose their preferred email service and provide redundancy and failover capabilities in case of service outages.

Finally, we plan to implement better logging and analytics capabilities to provide more insight into email delivery status and user engagement metrics. This will help users to track the success of their email campaigns and make data-driven decisions to improve their outreach efforts.

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.

✏️ Write here your text

One of the main things we realized is the importance of considering the end user's workflows when designing the API. During the initial development phase, we focused on building the API to handle the core functionalities of the service without taking into account the user's perspective. This led to some challenges when developing the client application as we had to provide additional information to the client to overcome some of the issues.

Another lesson learned is the importance of testing and debugging early on in the development process. Although we were able to deliver the project on time, we encountered some issues during the testing phase that required additional time and effort to resolve. If we had dedicated more time to testing and debugging early on, we could have avoided some of these issues.

Overall, we have gained valuable experience working with various technologies such as AWS Lambda, AWS Cognito, AWS SES, and Node js. We also learned the importance of using proper documentation tools such as Swagger to simplify the development process and ensure consistency in the API.

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.

✏️ Write here your text


Most Difficult Parts: The most challenging part of the project was integrating AWS SES with the email notification service. It required careful configuration of the email service and setting up the necessary security protocols to ensure that emails were sent securely and reliably. Another difficulty was implementing the caching mechanism using AWS Lambda, as it required a good understanding of how to manage and maintain serverless functions on AWS.

Easier Tasks: Defining REST API endpoints using Node js was relatively straightforward, as it is a simple and intuitive framework for building web applications. Another easy task was setting up the basic database schema and client implementation, as the team had prior experience with SQL and ReactJS. Overall, it was a valuable learning experience that helped us develop new skills in AWS, Node js, and web application development.

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?

✏️ Write here your text

The course workload was quite demanding, but it allowed us to gain a good understanding of various important concepts related to software engineering, such as REST APIs, microservices, and documentation. We appreciated the flexibility of the course deadlines and the support we received through the chat channel and 1-on-1 meetings.

However, some of the exercises were challenging to understand, and we sometimes struggled to keep track of all the different components of the course. In terms of improvements. Perhaps more focus could be placed on other topics, such as cloud computing or DevOps. Overall, though, we feel that this course provided us with a valuable learning experience.

Resources allocation

Task Student Estimated time
Future Work Kavindu Ravishan 2 hour
Lessons learnt Windula Kularatne 2 hour
Comments about the project Achira Hendalage 2 hour
Comments about the course Sameera Gamage 2 hour