A sleek, dark-themed Todo Application built with Node.js and Vanilla JavaScript. This application features a custom file-based database and implements JWT (JSON Web Tokens) for secure, stateless authentication.
- JWT Authorization: Uses JSON Web Tokens to securely handle user sessions and protect private routes.
- Stateless Design: No server-side session storage required; the token validates the user.
- Auto-Logout: Secure handling of token removal upon logout.
- Dual-Mode Auth: Smooth toggle animation between Login and Signup forms.
- Real-time Validation: Instant visual feedback (shake animations, red/green indicators) for user inputs.
- Dark Mode: A professional, eye-friendly dark theme with high-contrast green accents.
- Complete CRUD: Create, Read, Update, and Delete tasks seamlessly.
- Status Tracking: Mark tasks as "Pending" or "Completed" with visual badges.
- Responsive Grid: Dashboard layout auto-adjusts for different screen sizes.
The project follows a modular architecture separating frontend, core logic, and storage:
TODO APP WITH JWT/
βββ π core logic/
β βββ abc.js # Business logic & Helper functions
β βββ server.js # Node.js Server & JWT Configuration
βββ π database/
β βββ todoid.txt # File-based storage for Todo IDs
β βββ users.txt # File-based storage for User Data
βββ π frontend/
β βββ dashboard.css # Main application styling
| βββ images/ # Folder with sample images
β βββ dashboard.html # Dashboard Interface (Protected Route)
β βββ signup.css # Authentication page styling
β |ββ signup.html # Landing Page (Login/Signup)
|ββ π dependencies/ # Dependencies
| |ββ package.json
| βββ package-lock.json
βββ βΉοΈ README.md # Documentation
π οΈ Tech Stack
Frontend: HTML5, CSS3 (Animations, Grid/Flexbox), JavaScript (DOM Manipulation).
Backend: Node.js (Custom Server).
Security: JSON Web Tokens (JWT) for Authentication & Authorization.
Database: Custom File-System Storage (TXT based).
β‘οΈ Getting Started
Follow these steps to run the project locally.
Prerequisites
Node.js installed on your machine.
A code editor like VS Code.
Installation:
1. Clone the repository:
Bash
git clone [https://github.com/yourusername/organized-todo-app.git](https://github.com/yourusername/organized-todo-app.git)
cd organized-todo-app
2. Install Dependencies:
Bash
npm install
3. Run the Server: Navigate to the root directory and start the backend.
Bash
node "core logic/server.js"
4. Launch the App: Open http://localhost:3000 (or your configured port) in your browser. Note: You must log in via the Signup page to generate a JWT token before accessing the Dashboard.
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the project.
2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
3. Commit your changes (git commit -m 'Add some AmazingFeature').
4. Push to the Branch (git push origin feature/AmazingFeature).
5. Open a Pull Request.
π License
This project is open source and available under the MIT License.

