FLOWDESK
Flowdesk is a full-stack backend system for task and project management built using Node.js, Express, and SQLite. It demonstrates real-world backend engineering concepts including authentication, RESTful API design, session management, and database structuring.
⸻
FEATURES
- User authentication system (Signup / Login / Logout)
- Secure password hashing using bcrypt
- Session-based authentication (7-day sessions)
- RESTful API architecture
- Project management system
- Task management under projects
- SQLite database integration using better-sqlite3
- Protected routes using authentication middleware
⸻
TECH STACK
- Backend: Node.js, Express.js
- Database: SQLite (better-sqlite3)
- Authentication: bcrypt, express-session
- Architecture: REST API
⸻
PROJECT STRUCTURE
- public/ → Static frontend files
- src/middleware/ → Authentication middleware
- src/models/ → Database setup (SQLite)
- src/routes/ → API routes
- server.js → Entry point
- package.json → Dependencies ⸻
AUTHENTICATION FLOW
- User signs up with email and password
- Password is hashed using bcrypt before storing
- User logs in with credentials
- Server creates a session (valid for 7 days)
- Protected routes validate session before access
⸻
API ENDPOINTS
Auth Routes
- POST /auth/signup → Register new user
- POST /auth/login → Login user
- POST /auth/logout → Logout user
Project Routes
- GET /projects → Get all projects
- POST /projects → Create new project
- DELETE /projects/:id → Delete project
Task Routes
- GET /tasks → Get all tasks
- POST /tasks → Create task
- DELETE /tasks/:id → Delete task
⸻
KEY LEARNINGS
- Implementing secure authentication using bcrypt
- Managing sessions in Express.js
- Designing RESTful APIs
- Structuring backend applications
- Working with SQLite in real-world scenarios
⸻
INSTALLATION AND SETUP
(https://github.com/allaboutaayushi/Flowdesk.git)
npm install
npm start
⸻
LIVE DEMO
https://flowdesk-ua7f.onrender.com
⸻
AUTHOR
Built by, Aayushi Pandey
⸻
NOTE
This project focuses on backend development and system design principles. It is intended to demonstrate production-style backend architecture and authentication workflows.