daily-journaling

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

GPL-3.0 License

Stars
1
Committers
2

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

Home page miniature

These are the following paths and wireframes.

/home

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

/daily-page

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

/history

Preview all journaling pages with pagination.

/search

It opens when a search is made.

/about

Somthing about the usefulness of this website.

Implementing features

/home

/daily-page

Desktop: Screenshot

/history

/search

/about

Future implementations