web wasn't ready for this improved version
Korange
Check their projects out: Citronote 3, Korange's Lab / Relaytale, Rakuten Ichiba Header Collapse, Butabako, Grassguardian (Tentative name)
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
Devlog Entry #8- Deployed it on Render and fix some errors
Date: 22 June, 2025
Deployed Zynk on Render(https://zynk-zsd9.onrender.com/) and fix some errors that cause problems in registering and signing in and the connection with MongoDB. Thank you! :))
Devlog Entry #7 - Improved the Dashboard for Zynk
Date: June 21
Made the dashboard more better and improved....Planning to host it on Render!
Thank you!:)
Devlog Entry #6 — Environment Variables & Deployment Prep
Date: 20 June, 2025
Today I uploaded all the files I made till now on GiHub(https://github.com/stevensantonygit/Zynk) and fixed many errors and troubleshooting.
What I did:
Created a .env file to securely store sensitive data like my MongoDB URI. This keeps secrets out of my codebase.
Updated .gitignore to exclude .env from version control. No more accidental leaks on GitHub!
Ran git rm --cached .env and recommitted, making sure the file is no longer tracked.
Verified that Zynk still connects to MongoDB properly using process.env.MONGO_URI.
Prepped the project for future deployment by cleaning up the repo and managing secrets safely.
Fixed the Invalid Credentials issue by inspecting and reworking the login form inputs and validation.
Ensured passwords are hashed using bcrypt during registration and verified properly at login.
Added input validation (e.g., checking for empty fields) on both login and registration routes.
Restructured the authentication middleware by separating isAuthenticated into its own middleware/auth.js file for better modularity.
Cleaned up auth.js in routes/ to only handle routes and not mix middleware logic.
Configured express-session to store session data in memory for now, planning to later use MongoStore for persistence.
Debugged session persistence by logging req.session and testing login/logout flows thoroughly.
Registered a new user successfully.
Logged in, reached the dashboard, and tested logout.
Confirmed protected routes redirect to login when not authenticated.
Made sure session data clears on logout.
Next up, I’m thinking about deployment options like Render or Railway (not GitHub Pages since it’s a backend app).
Devlog Entry #5 — Authentication Fully Integrated!
Date: June 18, 2025
Milestone: Login + Registration system complete
Today was all about building secure access into Zynk. Here's what got done:
✅ What’s Working:
User Registration: New users can register with a username, email, and password.
Login System: Registered users can now log in with their email and password.
Password Security: Passwords are hashed using bcrypt before being stored in the database.
Session Management: Once logged in, users stay logged in using express-session.
Access Control: Protected routes (like /dashboard and /) now redirect unauthenticated users to /login.
Logout: Users can securely log out, clearing their session.
Challenges Faced:
Got a TypeError from misusing middleware — solved by moving isAuthenticated into a proper middleware file instead of importing it directly from routes.
Initially couldn’t test login since no users existed. Fixed this by registering a test account manually via the form.
Next Steps:
Add flash messages for login errors (like Invalid credentials).
Improve UI feedback in login/register pages.
Start building the actual Dashboard page content.
Zynk now has a locked door—and only the right key can open it 🔐
Devlog Entry #4 — Authentication Middleware & Routing
Date: June 19, 2025
Progress:
Today I cleaned up the authentication logic by moving the isAuthenticated middleware into its own folder. I created a new middleware directory and added auth.js, which now holds the session-based route protection logic.
This made my index.js much more organized — instead of cluttering routes with logic, I now simply import the middleware from middleware/auth.js. This also fixed a runtime error caused by importing a function from the wrong file!
Now, my / route is protected: only logged-in users can access the homepage. The app correctly redirects unauthenticated users to the login page. It’s a small change in structure but makes a big difference in clarity and maintainability.
I even made the login page to look more futuristic and nice(Have to have it for the registration page too! :)). Also fix some errors as well.
Next Step:
Time to work on displaying dynamic user content on the dashboard page using session data and also upload the files I have made till now to my GitHub repository for Zynk! Thank you! :)
Devlog #3 — User model & Authentication System
Date: June 18, 2025
Progress:
I successfully connected my Node.js backend to MongoDB using Mongoose. Previously, my app didn’t specify the database name in the connection string, so I updated it to target my specific database, zynk, in my MongoDB Atlas cluster.
What I did:
Used the official MongoDB connection string format for a cloud-hosted database.
Added the database name zynk to the connection URI, so Mongoose knows which database to use.
Handled connection success and error messages to confirm connection status in the console.
This connection setup enables storing user data securely for my authentication system.
I even fixed many errors that did not make the code work and installed many packages to fix those errors.
I even updated some files like the registry.html, login.html etc to make the user model and authentication system work smoothly! :)
Devlog #2 — Database Setup & Connection
Date: June 18, 2025
Progress:
Today, I connected my backend to MongoDB Atlas! After creating my free cluster, I set up a secure database user and used the connection string to link MongoDB to my app using Mongoose.
I also created a new file, db.js, and placed it inside the routes folder (though I may reorganize this later). With just a few lines of code, the app can now reliably connect to MongoDB. Super exciting seeing that 🟢 Connected to MongoDB message in my terminal!
Next Step:
I'll start creating a user model and API routes for registration and login. It's starting to feel real!
Devlog Entry #1 – Project Kickoff
Date: June 17, 2025
Title: Project Zynk Begins!
Summary:
Started building Zynk, a unique social media platform where thoughts connect. The goal is to create something fresh and different from existing platforms like Instagram, Twitter, or Threads.
🛠 Setup Completed:
Initialized project with npm init.
Created new GitHub repo: Zynk.
Set up project metadata in package.json.
Finalized project name and concept.
Designed logo and tagline: Zynk – Where Thoughts Connect.