Skip to content

mykesoft/daily-journaling

Repository files navigation

Welcome to Daily Journaling!

The goal of this project is to create a web application Node.js, Express.js, node-postgres package, EJS and Bootstrap for styling. The application will allow users to create and view Daily journaling pages. Posts will persist between sessions as a postgreSQL database will be used in this version of the application.

Features

  1. Page Create/Update: Users should be able to edit current daily journaling page.

  2. Page Viewing: The history page should allow the user to view all their journaling pages.

  3. Styling: The application should be well-styled and responsive, ensuring a good user experience on both desktop and mobile devices.

Technical Requirements

  1. Node.js & Express.js: The application will be a web server built using Node.js and Express.js. Express.js will handle routing and middleware.

  2. EJS: EJS will be used as the templating engine to generate dynamic HTML based on the application's state.

Steps

Planning

  • Gather content and design ideas, create wireframes with Balsamiq wireframes. Plan out how the application will work, which routes might be necessary and which pages need to be made.

Setup

  • Set up the project repository, initialize the Node.js application, and install necessary dependencies (Express.js, EJS).

  • Create the application structure, including routes, views, and static files.

  • Set up the Express.js server and define the necessary routes.

Implementing Features

  • Implement the page create/edit feature. This includes creating the form on the daily journaling page and handling the form submission in the server.

  • Implement the pages viewing feature. This includes displaying all the pages on the history page.

  • Implement the delete feature. This allows the user to click a button and remove the page from the history page.

  • Test the application to ensure that post creation and viewing are working correctly.

Styling and Polishing

  • Style the application. This includes creating a CSS file, linking it to your EJS templates, and writing CSS or using Bootstrap/Flexbox/Grid to style the application.

  • Test the application on different devices and browsers to ensure the styling works correctly.

  • Fix any bugs or issues that came up during testing.

Planning

Logo

Logo: journaling

Home page miniature

Home page miniature

These are the following paths and wireframes.

/home

Contains 2 buttons: "Write daily page" and "See your history"

Screenshot

/daily-page

It is made up by the current day on the top-right and a text box where to write.

Screenshot

/history

Preview all journaling pages with pagination.

Screenshot

/search

It opens when a search is made.

Screenshot

/about

Somthing about the usefulness of this website.

Screenshot

Implementing features

/home

Screenshot

/daily-page

Desktop: Screenshot

/history

Screenshot

/search

Screenshot

/about

Screenshot

Future implementations

About

Website with Node, Express.js, EJS, postgreSQL, Bootstrap technologies.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published