2020
Happy Journal Web App
For an Information Retrieval & Web Search class, I created a PHP web app that allows users to record moments that make them happy over time
Overview
In the Spring 2020 semster, the topic for CS380 – Recent Advances in Computer Science was Info Retrieval & Web Search. As part of an assignment, I learned PHP to develop a web app called Happy Journal, where users can record moments that make them happy.
Inspiration
A few years ago, I saw a post on Facebook about creating a happiness jar, where one would
- take an empty jar,
- starting from New Year's Day of the following year, write down things that make them happy on scraps of paper, which all go in the jar, and
- take them all out on New Year's Eve of that year and look at all the great things that happened throughout the year.
What Happy Journal Addresses
I created the Happy Journal to mimic the idea of creating a happiness jar, but to also address the following –
- Reduce paper consumption
- Eliminate the need to keep jars
- Easily maintain all happy moments
Current functionality
In this initial version of the web app, Happy Journal allows users to add an entry and display / view all entries.
Development
To develop this version of Happy Journal, I used HTML, CSS, JavaScript & Bootstrap, and PHP.
Homepage / Welcome Page
The homepage / welcome page uses HTML, CSS, and (some) Bootstrap.
Add an Entry Page
The Add an Entry page uses HTML, CSS, JavaScript & Bootstrap, and PHP. The user enters input using the HTML form, which is processed using PHP and saved to a CSV file.
View Journal Page
The View Journal page uses HTML, CSS, Bootstrap, and PHP. Each entry in the CSV file is outputted as a card (making use of Bootstrap) and is retrieved using PHP.
Future Development
In the future, I would like to further develop the Happy Journal web app to enhance the user experience. Features and functionality I would like to add are –
- account creation
- sorting (alphabetically, categorically, and chronologically)
- resetting the "journal"
- deleting entries
- option to create archives
- option to download entries