The Blog Zone is your personal or public blogging platform without any posting rules. Post whatever you want, but try to maintain the dignity of the platform as much as possible. This repository is hosted directly on vercel, so the code is transparent. You can check the server side code here.
The Project is live here
You don't need email or any type of identity to signup, just create a username, enter a strong password and you're done.
You are given a choice whether you want to make your post publicly visible, or make it private so it's only visible to the you.
You can edit the post anytime, and for privacy I haven't added the "updatedAt" visibility. Don't like the post? Delete it anytime (I added confirmation prompt later for deletion functions).
Unlike many social medias where post is in " ago" format, you'll see exact date and time of your post. (I implemented " ago" format before, but exact time is more practical).
I've switched from Non - relational database (MongoDB) to Relational database (PostgreSQL), so the application is scalable, and the data relations are much better and strong.
You can comment on a post to tell what you feel about the post, and can delete it whenever you want.
You can change your display name, username (this part was really tough) and password by clicking on the top left icon on dashboard page. Spaces in password and username are not allowed from now.
Your private posts are completely safe with node crypto encryption. Both title and content will be encrypted and original data will be replaced by some random letters and numbers before saving in database, and it'll only decrypt if the author himself is trying to access the post. Editing the private post will replace those characters with different random ones (example below). If you choose to make a private post public, then it'll decrypt the post permanently and add to public posts. Downside: Now you can't share private posts with URL to anyone, because they aren't the author of the post so their will be error while decryption.
If I create a private post with title: "Test", and content: "Demo content", then in my database, the data will be saved as:

You can search through public/private posts with either "Title", "Content" or "Author"
| Version | Date | Summary |
|---|---|---|
| 1.0 | 11-Nov-2024 | First push to Github. Project was stored locally for many days, because I couldn't fix problem during login detection, so I'll just store the jwt token in localstorage (I was planning to use cookies, but many browsers block cross-site cookies). Basic feature like post creation and deletion is added. I'll continue the project after college exams. |
| 1.1 | 20-Dec-2024 | I had added some credentials related to database connection in server.js, so I had to delete whole commit history in case a nerd tries to hack into my database (Stupid me). Changed signup flow. |
| 1.2 | 26-Dec-2024 | Added comment feature. |
| 1.3 | 27-Dec-2024 | Changed website's theme from light to dark mode. |
| 1.4 | 28-Dec-2024 | Changed theme's colors and made the website mobile friendly by adding screen responsiveness. |
| 1.5 | 31-Dec-2024 | Changed some text labels, like: Username (must be unique). |
| 1.6 | 06-Jan-2025 | Added edit feature, missing loading icons in some pages. Fixed Bug: Posts fetching before/after user information, resulting in posts being blank while information is loaded and vice versa. |
| 1.7 | 09-Jan-2025 | Added my github link in dashboard page. |
| 1.8 | 13-Jan-2025 | Made some changes in UI. |
| 1.9 | 14-Jan-2025 | Improved error handling (the most irritating part). |
| 2.0 | 17-Jan-2025 | Big Update: Migrated to PostgreSQL, ditched MongoDB. Scaling is efficient now. I could migrate the existing posts and accounts, but i preferred to start clean and new. |
| 2.1 | 04-Mar-2025 | Added confirmation on post and comment deletion. |
| 2.2 | 10-Mar-2025 | Switched from ago format to exact , format. It's better when you want to know the exact date and time of writing that post. |
| 2.3 | 29-Mar-2025 | Added eye icon on password. How could I forget this lol, my friend pointed that out. |
| 2.4 | 27-Apr-2025 | Added profile page with features to update name, username (toughest part) and password. The icon will be at top left. From now on, no spaces in username and password are allowed |
| 2.5 | 28-Apr-2025 | Added "Member since" in profile page. |
| 2.6 | 29-Apr-2025 | Big Update: Added content encryption for title and content in private posts. Original content will be replaced by random letters and numbers before saving to database, and will be decrypted only if the author tries to access. Now you can't share a private post with URL, it's securely only yours. Also added privacy encryption notice in blog create/edit page. |
| 2.7 | 30-Apr-2025 | Added search through title, content or author feature for private/public posts. Logout button is moved to profile page now. |
| 2.8 | 01-May-2025 | Removed "Made with love by Nitin", and added source code links in the website root. Also added confirmation on logout. |
| 2.9 | 03-May-2025 | Fixed Bug: User information loading after loading icon, leading to "Delete" showing late on own comment. |
| 3.0 | 16-Nov-2025 | Added Link component for blog title in dashboard. |
| 3.1 | 19-Nov-2025 | Added password recovery instructions in the login page (it looks a bit cluttered but it was necessary). |
The Blog Zone is an open source project, hence it welcomes all improvements from anyone interested. New features will be coming soon, thanks!