Skip to content

Task Manager is a full-stack task management app with Node.js, TypeScript, React & PostgreSQL. Features JWT authentication, task prioritization and structured API.

Notifications You must be signed in to change notification settings

lucas-santoro/TaskManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task Manager

🚀 About

Task Manager is a full-stack task management application designed for both practical use and as a learning resource for new developers. The project is fully documented, making it an excellent reference for those who want to understand how a complete full-stack application works.

🌟 Features

  • User authentication with JWT
  • Secure route protection
  • Task creation, updating, and deletion
  • Task prioritization and status management
  • Fully documented API & database structure
  • Easy setup and deployment using Docker

Whether you're looking to learn, contribute, or extend its functionality, Task Manager is open for experimentation.


📦 Technologies

Backend

  • Node.js with TypeScript
  • Express.js for API handling
  • PostgreSQL for database management
  • JWT Authentication for secure access

Frontend

  • React.js with TypeScript
  • React Router for navigation
  • Axios for API requests
  • CSS Modules for styling

📖 Documentation

Full documentation is available in the docs/ folder:


⚡ How to Run the Project

1️⃣ Clone the repository

git clone https://github.com/lucas-santoro/TaskManager.git
cd TaskManager

2️⃣ Run with Docker (Recommended)

If you have Docker installed, you can run the full application with one command:

docker-compose up --build

Then access:

More info in Docker Setup.

3️⃣ Manual Setup (Without Docker)

🔧 Install dependencies

  • Backend:
cd taskmanager-backend
npm install
  • Frontend:
cd ../taskmanager-frontend
npm install

🔐 Set up environment variables

Copy the example .env files and configure them:

cp taskmanager-backend/.env.example taskmanager-backend/.env
cp taskmanager-frontend/.env.example taskmanager-frontend/.env

🧱 Set up the database

Before running the backend, make sure the database is set up correctly:

psql -U your_user -d your_database -f taskmanager-backend/database/schema.sql

This command will create all necessary tables as defined in the schema file.

▶️ Start the project manually

  • Backend:
npm run dev
  • Frontend:
npm run dev

The frontend will be available at http://localhost:5173/.


🤝 Contribution

Want to contribute? Check out our contribution guide.


📜 License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

Task Manager is a full-stack task management app with Node.js, TypeScript, React & PostgreSQL. Features JWT authentication, task prioritization and structured API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published