- Project Overview
- Solution Summary
- 2.1 Scope
- 2.2 Assumptions
- 2.3 Dependencies
- System Design
- 3.1 Proposed Design
- App Implementation
- Drawbacks and Future Scope
PK Reflections is my personal blog application where I share thoughts, ideas, and a bit of everything that sparks my interest.
This Web-Application is built using Node and Express JS utiizing EJS templates and allows me to create, read, update, search and delete my posts. TinyMCE text editor has been implemented enabling me to format my blog's content including images. To make the App more secure, user authentication and authorization could be added so that users can login, like and comment on posts, thereby increasing interaction. Blog Posts will be displayed as cards on the homepage and some truncated part of the content would be visible. To read the full post, user will have to click on Read more... present at the bottom right of the card. Users will also be able to send messages (mail) to me via the contact form present in the home page
The scope of this Blog Web-Application encompasses the development of a comprehensive application using Node and Express JS. This project aims to assist me in managing my posts effectively. The application will provide a range of features and functionalities to enhance user experience.
The project scope includes the following aspects:
- Create new Blog posts
- Optionally add a cover image for the blog post
- Rich text editing experience powered by TinyMCE for the blog's content
- Read little bit of the created blog posts on home page
- To read the full post, click on Read more... link
- Update a post's content
- Optionally update the cover image
- Delete existing posts
- Search post(s) from the search option
- Posts can be searched based on title or content
- Users can send message (email) from the contact section
- No authentication needed
- User-Friendly and interactive interface for people to interact with the app
- Design intuitive views and forms for users
- Responsive for all screen sizes
- Only the blog owner (me) shall be able to create, update and delete posts
- Other users will only be able to read posts
- The owner can edit the cover image and content of a post but not the title
- The application runs smoothly in a production environment and is able to handle high loads and scale as per requirement
- A blog post is deleted permanently once the owner (me) deletes it
-
Backend Framework: The development of this blog application requires a suitable backend framework like Node and Express JS. The framework provides the necessary tools and libraries to handle data processing, business logic, and integration with the database.
-
Frontend Technologies: The frontend of the system relies on web technologies like HTML, CSS, and JavaScript, Bootstrap, jQuery, etc. to create a responsive user-friendly interface. All the UI views are written and rendered using powerful EJS templates for a dynamic interaction with the backend.
-
Development Tool and IDE: The development of this blog application relies on tools and integrated development environments (IDEs) like Visual Studio Code, or JetBrains Rider, which provide necessary features for coding, debugging, and project management. Visual Studio Code was selected as the ideal choice.
This is a Personal Blog Application, hence it is a single-user system. Different views are used to render the content based on the functionality. The different views that user can interact within the system are:
- Home Page containing all blog posts in card format
- New Post Creation
- Editing an existing post
- Deleting an existing post
- Search an existing post based on a blog's title or content
- Contact section for sending messages as email
- About section
- No Database has been implemented to store the blog details, essentially deleting all information once the server is shut down. In future, database integration is necessary to have persistent data
- User Authentication and Authorization can be implemented to enhance the app's security
- Application's engagmenent could be significantly increased by allowing authenticated users to like and comment on blog posts
- The application can be run in local currently, since it has not been deployed on a server.