Weekly - Jhonnathan93/integrating-project-1 GitHub Wiki

Week 2 - July 27

Manuela Castaño

The project was not started since there was no class last week.

Santiago Neusa

There was no work done since there was no class last week. Yet, for next week I plan on reading the documents that the teacher uploaded to interactiva virtual and do the homework that she assigned during class.

Jhonnathan Ocampo

No progress was made during the past week because we didn't have class.

Week 3 - August 03

Manuela Castaño

We've materialized our abstract ideas and hopes for this project into defined concepts. We did an exhaustive analytic process, like evaluating the problem and researching about possible solutions, as well as formulating questions about the importance of our project. We wrote functional requirements for the app, and a Product Vision Board that represents the target public and the distinguishing factor that make the product stand out from other services.

So far, it has been difficult to define clearly the solution that is going to be built. There are a lot of ideas with some not being related to one another. We've had to take difficult decisions as to what we will focus our attention on. We had to evaluate our capabilities in order to choose the adequate tools for the execution of the project.

We plan on researching more about the available tools and resources to be able to make a delimited plan.

Santiago Neusa

Last week I started looking at the slides the professor uploaded to interactiva virtual. I wrote some key ideas about the deliveries and how the sprints are going to be. This week I want to keep investigating about the metodology of the class and what we are doing for this sprint. The professor gave us some tasks and I have doubts about the activities. I told the teacher assistant I have some issues so we're going to have a meeting. I will keep reading the slides and searching information on the internet because one of the tasks was looking for why our product solves a problem, which solutions are related of our problem, etc.

Jhonnathan Ocampo

All the work carried out from the beginning of the semester up to this point has been oriented towards defining the project. We have been considering potential ways to address the stated issues. Notably, we have established a comprehensive list of requirements that serve both as a blueprint and a framework, delineating the scope of our project.

Furthermore, we have substantiated our project by not only highlighting why we believe our proposed solution is vital, but we have also reinforced our reasoning with compelling evidence that reinforces the imperative to undertake this project and how it affects users (readers). Our rationale incorporates a spectrum of perspectives, giving it depth and credibility.

Additionally, we've done a Product Vision Board. This board not only encapsulates our internal product vision but also proactively integrates the perspective of potential clients. It serves as a collaborative, dynamic, and evolving reference point that empowers us to maintain focus and align our efforts with the needs and expectations of our target audience.

This week, we are going to conclude the development of deliverable 1: Project Definition and Software Requirements Specifications. To achieve this, we will leverage the work already laid during the requirement definition phase and follow the trajectory outlined in our visioning process. Our goal is to synthesize idea of the project into a compelling Elevator Pitch, designed to captivate and engage our audience.

Week 4 - August 10

Manuela Castaño

During this week, our team focused on the documentation and writing of the academic paper related to the project. We read all the official documents, some examples, did research on the internet and started writing about all the aspects of the project. I was in charge of the user characteristics or target public, usability and database requirements, and general researching.

It was hard to find guidelines for the website design. Since the requirements had to be measurable, it was a challenge to set attainable and defined goals, but it was a rich experience where I learned a lot.

For next week, we plan on developing the tangible part of the project, that means, the code. We plan on advancing enough to do a nice simple demonstration the day of the presentation.

Santiago Neusa

Last week we started the documentation of the first delivery. My part was about writing about some aspects of the product, and its limitations. Also, the external interfaces and performance requirements. As I didn't know much about those concepts, to accomplish the tasks I researched on the internet and read the IEEE 29148-2011. I started with the important aspects of the product, since it was one of the most extensive segments of the documentation.

This week I'm finishing all my assigned tasks of the first delivery documentation. Also, I will help in the construction of the pitch and presentation we will do on thursday.

I do not understand some concepts so in a meeting we will hold with the teacher I will ask some questions.

Another problem I'm facing is that there is not a lot of time to finish all the activities, so I plan on asking my teammate, Manuela Castaño, if she could help me with one of the tasks.

Jhonnathan Ocampo

During this week, we successfully completed all the remaining activities for Sprint 1, using the template provided by the instructor as a starting point. Specifically, I took the responsibility of formulating the project's constraints, defining the scope of the application, and outlining the functions of the web page. As a team effort, we produced the video presentation for this milestone and accomplished all the tasks assigned in class, including creating the high-level design, participating in the group Django workshop, and developing the domain model.

For the upcoming demo, my main focus was on designing and structuring the HTML/CSS components of the project. This collective effort has allowed us to achieve our objectives for this sprint and make substantial progress towards the project's completion.

Week 5 - August 17

Manuela Castaño

After talking about the project in the oral presentation, I realized we have a lot to do, and a couple of errors to correct. The hardest part was trying to not compare our team with the rest of the teams, even if the others had attained more functionality in their website, or their design was prettier. We want to focus on prioritizing funcionality over cute design, since we can leave those small non-functional details for the last sprint.

Santiago Neusa

Last Week's Accomplishments:

  • Prepared the pitch.
  • Prepared the presentation.
  • Made final touches to the project and the Wiki.

Goals for This Week:

  • In the upcoming week, I will focus on other subjects at the university. However, I will continue to review some details mentioned by the professor during the presentation to make corrections and steer the project in the right direction.

Obstacles:

  • Procrastination is a significant obstacle. The professor mentioned that we should dedicate 6 hours each week to the project, but sometimes I think that since the task is short, I can postpone it. However, that's not the right approach.
  • Estimating the time required for activities is also a challenge. I often think that a task will take a certain amount of time, but end up spending more time than I initially planned.

Jhonnathan Ocampo

Following the presentation of this deliverable, while we didn't encounter any specific code corrections, we did engage in a comprehensive review of concepts, particularly focusing on data analytics and gamification. While we didn't produce tangible product developments within the past week, our strategic planning is poised to translate into tangible progress during this upcoming sprint.

Week 6 - August 24

Manuela Castaño

We had our first encounters with the project managers of higher semesters. Their positive comments served as motivation to us, since hearing people with higher knowledge say that we're on the right track, is very fulfilling. The hardest part was knowing what's next. Between all the pending functional requirements, it's hard to determine what points are the most urgent to complete for this sprint. Also, estimating the time that it will take to finish certain tasks, is really hard. Because of my inexperience, simple things take longer. We hope to be more organized in our time, and assign more adequately requirements to each member.

Santiago Neusa

Last Week's Activities:

  • After the presentation last week, I took some time to rest. However, I focused on addressing specific issues with my computer, as I had a problem with GitHub's connection (unresolved). I also reviewed some HTML and Django concepts.

Plans for This Week:

  • Complete workshop 2 for the class and begin researching how to work with the ChatGPT API, as it is essential for several requirements of our application.

Challenges:

  • The issue with my computer's GitHub connection persists. I hope not to procrastinate too much and avoid leaving tasks for later. I also need to catch up on reading the documents the professor has been sending and completing some tasks for the Wiki.

Jhonnathan Ocampo

We engaged in a productive discussion with the project managers, where we succinctly presented the project idea. Following this, they assigned us specific tasks that would grant them access to the repository. Moving forward, our focus will shift towards the development of the second deliverable, centered around refining the architecture. Additionally, we plan to enhance the program's demo by leveraging the provided tools, such as the login feature they have furnished us with.

Week 7 - August 31

Manuela Castaño

I've been trying to comprehend the design of the deployment diagram but it has been difficult. UML diagrams are usually very strict in their components, associations, etc. So I've been trying to look at examples and analyze to a deeper level the environments in which our web application will live. I also started coding the necessary models and some view functions for the functionality of Reading Lists. So far, trying to understand the many to many relationship between books and reading lists has been very confusing to me. Procrastination is another factor that has affected my work performance. I plan on finishing the diagram, and finishing the definition of models.

Santiago Neusa

Last Week's Activities:

  • I researched the ChatGPT API and somewhat resolved the GitHub issue I had been facing.

Plans for This Week:

  • Prepare for the upcoming Submission 2, which is due next week.

Obstacles:

  • At the moment, I haven't fully understood the requirements for the upcoming submission, so I need to carefully review the instructions to clarify any doubts I might have.

Jhonnathan Ocampo

During this week my main focus was on delving into the documentation of the Google Books API. However, this endeavor came with its fair share of challenges. I encountered difficulties primarily because I was not initially familiar with the intricacies of the API, and I also came across outdated information, which further complicated matters.

In addition to working with the Google Books API, I spent a considerable amount of time exploring the OpenAI API. This involved conducting tests on how to efficiently gather information via a form, standardize it, and then send it as a prompt to the API. The ultimate goal of these tests was to generate relevant content that could be seamlessly integrated into our project.

These tasks not only broadened my knowledge but also provided valuable insights into the intricacies of these APIs. Moving forward, I plan to leverage this newfound understanding to contribute more effectively to our project's development.

Week 8 - September 07

Manuela Castaño

This week has been the most stressful one. I realized there was a lot more to Reading Lists than I thought. I've been having trouble with storing the books an user wants to add to a reading list. Also, the google books API isn't retrieving the correct url for the book covers so that's also a problem. Additionally, my inexperience with html has been slowing me down in the process of building the templates. I plan on finishing all the necessary functionalities that correspond to the functional requirement I was assigned, which is creating, deleting, and visualizing reading lists and its contents.

Santiago Neusa

Last week

Last week I started with the actual development of my requirements. in this case, my task was to create the platform login and the user profile page.

Also, for the delivery I contributed with the realization of the data model and the correction of some requirements that we had not left well written under the standard that the teacher gave us.

This week

This week I will finish fulfilling my requirements (registration, login, logout and profile) and will record the video portion of my submission.

Problems

I still do not have full knowledge of how to perform the validations to complement the user verification with what my colleagues are doing. For example Manuela Castaño is developing the reading lists part, and for the moment I don't know how to make a user see only his reading lists.

Jhonnathan Ocampo

During this week, my productivity was somewhat limited due to health issues and the temporary unavailability of my work equipment, which experienced technical problems. Despite these challenges, I managed to make some progress by advancing the component diagram for our project. Looking ahead, my primary goal for the upcoming week is to ensure the completion of all pending tasks, as they hold significant importance for the project's development. I plan to resume my regular work routine, contributing effectively to our project's success.

Week 9 - September 14

Manuela Castaño

This week I didn't accomplish a lot of tasks. I focused more on research and learning. We want to improve our web design and aesthetic so I've been learning about CSS and Bootstrap, especially. I recognize that the learning curve is really steep for us since there are a lot of new concepts coming all at once.

Santiago Neusa

As this week is the presentation week, I dedicated myself to uploading the diagrams to GitHub, having a retrospective with my peers, and making the final commits before the presentation. Regarding the code, I focused on fixing aesthetic aspects, such as some buttons or ensuring that the header and footer on my screens were properly aligned, among other things. It wasn't about completing new requirements since I had already finished them.

Jhonnathan Ocampo

In the week following our project delivery, there wasn't significant progress. This is an aspect we recognize as an area for improvement. Post-delivery periods can be challenging due to the physical and mental fatigue that follows a major project delivery.

Week 10 - September 21

Manuela Castaño

We've spent time redefining our requirements and adding more as the necessity arises. There are a lot of things that we didn't know we would need to take into account when we first dived into this project. But we understand that we grow alongside the project, and it's necessary to write the steps to follow and goals in order to define correctly the scope of our project.

Santiago Neusa

After receiving feedback from the teacher, we realized that we needed to start including data analytics. So, we've been thinking about how we will incorporate it and what information we will display in our analytics module. We also conducted the sprint planning. This week, I will wrap up the user account section because there's a detail I need to address, and I'll be working with my colleagues on the brand identity, as we had our first class on that topic.

Jhonnathan Ocampo

We spent this week reevaluating our work plan. We carefully redefined the tasks associated with each function and allocated responsibilities based on a comprehensive understanding of the work requirements.

Week 11 - September 28

Manuela Castaño

Thanks to the teacher's advice, we started thinking about our identity and what our logo and slogan will be. Personally, I want to use dark blue as one of the main colors since that color gives me peace and makes me feel wise. I really like to design things, so I hope to make our website a little bit prettier everyday. It's a very important aspect for me, but the programming part of the design has been difficult since there are a lot of tools and ways to make a website pretty.

Santiago Neusa

This week, we had a meeting with the project managers, recorded a video, and discussed our ideas about data analytics with the teacher. She provided us with guidance and advice on how to apply data analytics to our project. In my case, as I'll be presenting the analytics with graphs, I need to start researching how to use Matplotlib and fetch the data from the model to create the graphs. I don't expect to make significant progress on the project this week because the deadline was extended, and I have other subjects to attend to.

Jhonnathan Ocampo

During this week, I undertook extensive testing and explored tools to facilitate one of our critical functions – the newsletter. However, two specific challenges emerged. First, we encountered concerns about the potential volume of emails that we may have to manage in the future, which could necessitate more robust tools. Second, we encountered difficulties with automating the scheduling of email deliveries.

Week 12 - October 05

Manuela Castaño

I started looking into Bootstrap components like Modals, OffCanvas, Dropdowns and others, in order to make our website more usable and accessible, as well as organized. I also started the process of creating the default Read Later list. I also started the creation of the Profile view. It has been hard to code and I've been getting a lot of errors but i'm slowly improving.

Santiago Neusa

This was a vacation week, so I didn't make much progress. However, I worked on the database model "History," and I've already generated the data analytics graphs. What remains is to display them on a page in our application.

In addition to that, I updated the ChatGPT model we were using for generating recommendations to the latest available version. This has provided a lot more recommendations, and their quality has improved.

Jhonnathan Ocampo

What was accomplished:

Developed a preliminary version of the newsletter sending application. However, automation features are pending. Made updates to the user model to enhance functionality. Implemented HTML improvements, including color adjustments, margin enhancements, and structural changes. Successfully completed the initial recommendations form. Introduced the analytics section, focusing on developing the Minimum Viable Product (MVP). Planned tasks for the coming week:

Finalize the analytics module to enable more in-depth data analysis. Continue refining HTML elements, ensuring optimal color schemes, margins, and structural arrangements. Automate the newsletter module for streamlined content distribution. Begin work on the help and frequently asked questions section to provide users with guidance and information. Our project encountered recurring issues related to API keys, which are fundamental for the application's operation. We had to make frequent changes and, at times, reset these keys. Additionally, the database required several resets to address specific challenges.

Week 13 - October 12

Manuela Castaño

Utilized this break time to try and meet the tasks that were assigned to me. However, the creation of the form to edit the profile has been hard to do, so I had to change a part of the Models in order to render the edit form correctly. Also, I was assigned to create the possibility of adding book to the read later list from the recommendations page, but it requires javascript queries and I know nothing about javascript so it has been really difficult.

Santiago Neusa

I did quite a bit of work this week since it was the week leading up to the deadline. I completed the requirements for "History," the data analytics, and with the help of Manuela Castaño, we worked on the requirement related to displaying and editing user profile information. As a team, we conducted a retrospective and prepared our presentation, and I assisted the Project Management team in presenting our project in their class.

Jhonnathan Ocampo

No further progress was made in the project because this week was a break from school activities. Despite this, I dedicated part of my time to the component diagram because the one made in the previous sprint had many errors and now with greater knowledge it is possible to do it in a more detailed way.

Week 14 - October 19

Manuela Castaño

Regarding the Read Later requirement, I could only fulfill it partially, but I made sure that what I did complete, was well done and organized. I was also in charge of the pitch and I feel like I did pretty well, so I'm proud of myself. I also corrected part of my deployment diagram and worked on the delivery documentation.

Santiago Neusa

The professor allowed us to submit until Friday, so since our week starts on Thursday, I included the finalization and details of the submission via GitHub.

I reviewed my part to ensure it was in good shape and edited the video that serves as the presentation of the completed sprint.

Jhonnathan Ocampo

What was done?

This week was the sprint review so we worked to finalize details for it, trying to apply concepts that we previously saw in class we now have a file .env that makes it easier to process the api keys (something I had personally marked as difficult)

What obstacles did we have?

At the time of the review, an error occurred, this due to 2 main reasons for which it took responsibility: the lack of proper handling of exceptions and the lack of correct documentation of the code since one of the functionalities that I worked on failed under a specific situation that It happened in the middle of the review and my team did not know will happen

What are we going to do?

For this last sprint, we proposed to completely change the page visually to make it more attractive, which is not within the requirements but is something that arises from the desire to develop something that is visually attractive. In addition to this, we will continue developing the functionalities established for this last sprint and in my personal way complete the requirement that I left pending for this sprint that revolves around the newsletter

Week 15 - October 26

Manuela Castaño

I focused on finishing the Read Later requirement, since it was only done partially, and also try to complete the requirement that allows users to click on a button called "No recomendar" so that a specific book that they don't like, won't be recommended to them again. However, the functionality of those two buttons involve javascript scripts, which is something I know very little about, so I've had to learn a little bit more about that language and its relation to HTML. Right now, I've searched the internet in hopes of finding a lot of resources that will help me learn more about the creation of scripts. However, I realized that it involved a lot more work than I had thought, since the creation of the functions for javascript are a little tricky, and I also realized that the feedback from those buttons had to be incorporated into the rest of the application; that means that if the user clicks on the "No recomendar" button, I have to take into account the details of that book, feed it to the chatgpt prompt, in order to prevent showing the user that recommendation. However, I am currently seeing some problems with the response of chatgpt, since it is not giving the user what we would expect.

Santiago Neusa

What did you do last week? Hours ago our team had the presentation of the third sprint. I talked about the analysis reports and history searches. Some corrections the professor gave us were adding dates to the analytics reports in order to make assumptions and studies about the data.

What are you going to do this week? Improve speed of the Google Books API request: At the moment the petition takes 8s, as the process can be parallelized I am going to reduce that time. Correct the graphics of the reports: As I said, the professor told me to add the date component to the graphics, so I am going to make a different reports page where the user can select when they want to start and end the analysis. Web Application Deployment: Our team is going to present next week and a requirement is that our application needs to be on a server and have a functional connection. Also, we want to add a domain to our website so I am searching for information about that.

Are there any obstacles in the way? The lack of knowledge about the things I have to do. The pressure of the last weeks of university.

Jhonnathan Ocampo

Based on the review of the previous sprint, we focused on implementing the recommendations and improvements provided. These include adding time filters to elements linked to data analytics to ensure more accurate information. Additionally, efforts were directed towards addressing errors in the newsletter section.

During a meeting with the professor, we charted the course for concluding this project in the best possible manner. We assessed the effort required for the remaining functionalities and deliberated on how to approach them. The persistent challenge, as always, is time. However, in a reflective conversation with the software engineering professor, it was emphasized that as software developers, we may never feel that we have delivered a truly complete product. There will always be a sense of wanting to continue refining and focusing on areas for improvement.

Week 16 - November 02

Manuela Castaño

I was able to successfully finish the two requirements that were assigned to me. I tried to make some changes and improvements to the prompt, and we are all working as a team in order to be able to get the best results for the user. We hope to be able to have everything in perfect condition before the deadline. Additionally, we started working on the deployment which is the highest priority right now. I have also started working on the parts of the documentation for the Last Delivery that were assigned to me, like the Poster and the editing of the video. I had been assigned the Deployment Diagram in the earlier sprints, but since the teacher didn't make any corrections for it, I don't have to modify it or change anything about it. The bigger obstacles right now are the improvement of the chatgpt response, and knowing how to deploy our web application correctly.

Santiago Neusa

What did you do last week? On today's morning, we had a meeting with the professor where she asked about what is each person to do for this sprint, and told us to do the presentation next week, On the project, I finished the parallelization of Google API requests and started with a functional requirement that is about including computer vision in our system so the user can upload book covers and our application recognizes the title and the name of the author.

What are you going to do this week? Try to finish the functional requirement I started and finish the UX/UI components for the final presentation. Also, we have to fill out a document for every sprint we have, so I am going to do the data model, complete the backlog, make an outline of the retrospective, and write the pitch of the presentation.

Are there any obstacles in the way? We don't have enough time and so many things to do, but we think we can.

Jhonnathan Ocampo

On a personal note, beyond the existing project requirements, we made a deliberate decision to also focus on enhancing the user experience and the design of the web application. Consequently, a significant portion of my time during this latest sprint was dedicated to refining the HTML files. This effort aimed not only to improve the aesthetics but also to incorporate more visual cues on each page. The goal was to ensure that, in terms of usability, users can easily comprehend the purpose of the application and the content on each page. As a final reflection, with the project nearing its completion in just a few days, it's evident that several requirements remain unfinished. Specifically, those related to gamifying the app have not been addressed, leading to a noticeable absence of any features in this regard within the application.