A full-stack task manager web application that allows users to securely manage personal tasks with features like authentication, CRUD operations, and responsive UI β built with React, Node.js, and PostgreSQL.
Frontend: React, Bootstrap, Axios, React Router
Backend: Node.js, Express.js, PostgreSQL
Authentication: JWT (JSON Web Tokens)
Database: PostgreSQL
ORM: Raw SQL with pg
Optional: GraphQL support (in-progress)
- π User Signup/Login with JWT-based authentication
- π Create, Read, Update, Delete (CRUD) tasks
- π§ββοΈ User-specific task lists
- ποΈ Task due dates, priority, category, tags
- π₯οΈ Responsive and clean UI
- π¦ Scalable backend API
- π§Ύ Secure password hashing with
bcrypt - π οΈ REST API + optional GraphQL integration
collaborative-task-manager/.
β βββ backend/ # Node.js + Express + PostgreSQL
β βββ routes/ # REST API routes (tasks, users)
β βββ middleware/ # Auth middleware (JWT)
β βββ graphql/ # (Optional) GraphQL schema
β βββ db.js # PostgreSQL connection
β βββ server.js # Main backend server
β βββ .env # Environment variables
β βββ frontend/ # React application
β βββ src/
β β βββ pages/ # Home, Login, Register, Dashboard
β β βββ App.js
β βββ public/
β βββ package.json
β βββ README.md
setup backend:cd backend
npm install
touch .env
Add this to your .env file:
DB_USER=postgres
DB_PASSWORD=your_db_password
DB_HOST=localhost
DB_PORT=5432
DB_DATABASE=task_manager_db
JWT_SECRET=your_secret_key
Make sure PostgreSQL is running
npm start
- Setup Frontend
cd ../frontend
npm install
npm start
Go to: http://localhost:3000