https://github.com/mykesoft/daily-journaling
Website with Node, Express.js, EJS, postgreSQL, Bootstrap technologies.
https://github.com/mykesoft/daily-journaling
bootstrap ejs ejs-templating expressjs nodejs postgresql
Last synced: 6 days ago
JSON representation
Website with Node, Express.js, EJS, postgreSQL, Bootstrap technologies.
- Host: GitHub
- URL: https://github.com/mykesoft/daily-journaling
- Owner: mykesoft
- License: gpl-3.0
- Created: 2024-05-02T12:23:04.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-21T09:50:49.000Z (about 1 year ago)
- Last Synced: 2025-03-17T11:13:08.441Z (4 months ago)
- Topics: bootstrap, ejs, ejs-templating, expressjs, nodejs, postgresql
- Language: EJS
- Homepage:
- Size: 19.2 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Welcome to Daily Journaling!
The goal of this project is to create a web application [Node.js](https://nodejs.org/en), [Express.js](https://expressjs.com/), [node-postgres package](https://www.npmjs.com/package/pg), [EJS](https://ejs.co/) and [Bootstrap](https://getbootstrap.com/) 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](https://balsamiq.com/). 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.

## /searchIt opens when a search is made.

## /about
Somthing about the usefulness of this website.

# Implementing features
## /home
## /daily-page
Desktop:
## /history

## /search
## /about
# Future implementations
- Export/Import Articles
- User Login
- Syncronization
- [Dockerization](https://www.docker.com/)
- Implementation of [Kubernets](https://kubernetes.io/)