I’ve added support for marking todos as completed and uncompleted.
When a todo is checked or unchecked, the updated completed state is sent to the backend and saved in the database (MongoDB). The UI updates immediately and
Log in to leave a comment
I’ve added support for marking todos as completed and uncompleted.
When a todo is checked or unchecked, the updated completed state is sent to the backend and saved in the database (MongoDB). The UI updates immediately and
Log in to leave a comment
I’ve now programmed it so you can add todos, send them to the backend for processing, and then update the local ID with the server Todo-ID before re-rendering. This keeps everything synced up perfectly so you can edit or delete the new todo right away.
Log in to leave a comment
This is Devlog 1, but just so you know: I’ve been working on this project since way before I even heard of Flowertown.
Here’s what I’ve coded so far – Key Features & Technical Setup:
Built with Express.js
Authentication: * Used bcrypt for secure password hashing.
Implemented JWT (JSON Web Tokens) for stateless auth.
Built the entire Login and Registration flow from the ground up.
Authorization & Security:
Custom Middleware: To validate tokens and protect specific routes.
Data Isolation: Added logic so users can only see and edit their own todos no peeking at others' data!
Secure Storage: Tokens are stored in HTTP-only cookies to keep them safe from XSS attacks.
Input Validation:
Using express-validator to clean up and check incoming data.
Set up custom error handling with messages that actually make sense.
Rate Limiting:
Added protection against Brute-Force attacks by blocking IPs that spam requests.
Granular Limits: I set different limits for sensitive stuff (like /auth) compared to general routes.
Log in to leave a comment
I have successfully integrated my frontend with a custom backend for Login and SignUp. The system is designed to provide immediate, context-aware feedback directly within the HTML interface.
Robust Error Handling: Instant UI feedback for invalid inputs or existing emails, ensuring users know exactly what went wrong.
Live Feedback: Real-time, color-coded status messages (e.g., “Creating account…” or “Login successful!”) to guide the user.
**Secure Tokens: **Implemented HTTP-Only cookies for session storage to protect against XSS attacks and keep user data safe.
Asynchronous Logic: Used async/await to handle backend requests, ensuring the UI stays in sync with server responses before resetting forms or redirecting.
Log in to leave a comment
Today I spent some time improving the project structure by reorganizing my files to make everything cleaner and easier to maintain. This makes the codebase more readable and will help a lot as the project grows.
I also implemented a temporary ID system for newly created todos, so each task now has a unique identifier even before the backend is connected. This is an important step to ensure smooth state handling later on.
Additionally, I started working on a** login page** where users can either create an account or sign in. This feature is not fully functional yet, but it’s an important foundation for when I connect the frontend to a backend and add real authentication in the future.
Log in to leave a comment
I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.
Log in to leave a comment