Repository navigation
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 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.📑 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.
📑 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.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.
📑 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.
📑 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?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.
| 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 |