Skip to content

allaboutaayushi/Flowdesk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  1. User signs up with email and password
  2. Password is hashed using bcrypt before storing
  3. User logs in with credentials
  4. Server creates a session (valid for 7 days)
  5. 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

Clone repository

(https://github.com/allaboutaayushi/Flowdesk.git)

Install dependencies

npm install

Start server

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.

About

A production-style backend system designed to simulate real-world SaaS task management platforms.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors