Skip to content

A RESTful and Real-Time API built with Node.js, Express, MongoDB, and Socket.IO for managing workspaces, projects, tasks, and comments , following a clean Repository–Service pattern for scalability and testability.

Notifications You must be signed in to change notification settings

elhassanefek/projectify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Project Management API

A RESTful and Real-Time API built with Node.js, Express, MongoDB, and Socket.IO for managing workspaces, projects, tasks, and comments — following a clean Repository–Service pattern for scalability and testability.


🚀 Features

  • User authentication with JWT
  • Workspaces and projects management
  • Tasks CRUD operations with assigned users
  • Comments under tasks
  • Project and task statistics
  • Real-time collaboration using Socket.IO
  • Live task creation, updates, and deletions
  • Real-time project updates
  • User-specific event emission
  • Clean architecture (Repository + Service layers)
  • Unit and integration testing with Jest

🧱 Tech Stack

  • Node.js
  • Express.js
  • MongoDB + Mongoose
  • Socket.IO
  • Jest

Environment Variables

Create a .env file in the root directory and add the following:

PORT=3000 NODE_ENV=development

DATABASE=mongodb://127.0.0.1:27017/projectify DATABASE_TEST=mongodb://localhost:27017/projectify_test

JWT_SECRET= JWT_EXPIRES_IN=90d JWT_COOKIE_EXPIRES_IN=90

EMAIL_USERNAME= EMAIL_PASSWORD= EMAIL_HOST=sandbox.smtp.mailtrap.io EMAIL_PORT=2525

Running the App

npm install
npm start

Testing the App

npm test

About

A RESTful and Real-Time API built with Node.js, Express, MongoDB, and Socket.IO for managing workspaces, projects, tasks, and comments , following a clean Repository–Service pattern for scalability and testability.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published