Diary Book

My project will help users who are interested in writing and journaling their lives by making the creative process easier for them. They could use this app to keep diaries or daily notes anytime and anywhere. Unlike the old form of journaling where people always wrote on paper, keeping a diary through an app can be more efficient and easier to organize, which is what interests me most about this project.

User Stories

  • As a user, I want to be able to create my own diary book
  • As a user, I want to be able to write a diary
  • As a user, I want to be able to add a new diary entry to the diary book
  • As a user, I want to be able to search for the diary of a specific date and view it
  • As a user, I want to be able to view all my previous diaries
  • As a user, I want to be able to delete the diary of a specific date
  • As a user, I want to be able to save my diaries to file when I select the quit option from the application menu
  • As a user, I want to be given the option to load my diaries from file when I start the application

Instructions for Grader

  • You can generate the first required event by clicking the button labelled "Write a Diary", then clicking the "Done!" button after entering each item, and then clicking "Finish" button after completing the diary text to add this diary to your diary book
  • You can generate the second required event by selecting the menu item labelled "View Diaries" to choose either view all diaries or search for a diary for a certain date
  • You can locate my visual component, the welcome image, at the entry page of the application
  • You can save the state of my application by clicking the button labelled "Save My Diaries"
  • You can reload the state of my application by clicking the button labelled "Load My Diaries"

Phase 4: Task 2

Wed Aug 10 16:52:22 PDT 2022

Added diary to book

Wed Aug 10 16:52:33 PDT 2022

Added diary to book

Wed Aug 10 16:52:48 PDT 2022

Deleted diary from book

Phase 4: Task 3

  • If I had more time to work on the project, I would focus more on the single responsibility principle and split the classes in ui to more classes to improve the cohesiveness of my code. Moreover, I would extract more methods to handle the duplicated code and improve the readability.
  • In addition to that, I would try to reduce the coupling of the code structure, as now a change in one class will possibly require changes in other classes.