Skip to content

theubaidistan/project-management-2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

📋 Project Management App

A full-stack project management platform with real-time workflows, team collaboration, and organization-level access control.

Project Management Preview


🚀 Tech Stack

Frontend

React Vite TailwindCSS

Backend

Node.js Express

Auth & Organizations

Clerk

Background Jobs & Email

Inngest SendGrid Nodemailer


✨ Features

  • 🔐 Authentication & Organizations — Powered by Clerk with support for multi-org workspaces, invitations, and role-based access
  • 📁 Project Management — Create, assign, and track projects and tasks across your team
  • 📬 Email Notifications — Automated email workflows via Inngest with SendGrid and Nodemailer
  • Real-time Background Jobs — Inngest-powered event-driven workflows for async task processing
  • 🎨 Modern UI — Clean and responsive interface built with React + Tailwind CSS
  • 🚀 Fast Development — Vite for lightning-fast HMR and optimized builds

🗂️ Project Structure

project-management/
├── client/                  # React + Vite frontend
│   ├── src/
│   │   ├── components/      # Reusable UI components
│   │   ├── pages/           # Route-level pages
│   │   ├── hooks/           # Custom React hooks
│   │   └── main.jsx         # App entry point
│   ├── index.html
│   ├── vite.config.js
│   └── tailwind.config.js
│
└── server/                  # Node.js + Express backend
    ├── routes/              # API route handlers
    ├── inngest/             # Background job functions
    ├── middleware/          # Auth & request middleware
    └── index.js             # Server entry point

⚙️ Getting Started

Prerequisites

  • Node.js v18+
  • A Clerk account (for auth + organizations)
  • A SendGrid account (for transactional email)
  • An Inngest account (for background jobs)

1. Clone the Repository

git clone https://github.com/your-username/project-management-2025.git
cd project-management-2025

2. Install Dependencies

# Install client dependencies
cd client
npm install

# Install server dependencies
cd ../server
npm install

3. Configure Environment Variables

Client — create client/.env:

VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
VITE_API_BASE_URL=http://localhost:5000

Server — create server/.env:

CLERK_SECRET_KEY=your_clerk_secret_key
SENDGRID_API_KEY=your_sendgrid_api_key
NODEMAILER_USER=your_email@gmail.com
NODEMAILER_PASS=your_email_password
INNGEST_EVENT_KEY=your_inngest_event_key
INNGEST_SIGNING_KEY=your_inngest_signing_key
PORT=5000

4. Run the App

# Start the backend
cd server
npm run dev

# Start the frontend (in a new terminal)
cd client
npm run dev

Open http://localhost:5173 in your browser.


🔑 Key Integrations

Clerk — Auth & Organizations

Clerk handles user sign-up, login, session management, and organization workspaces. Users can be invited to organizations and assigned roles (admin / member).

Inngest — Background Workflows

Inngest is used for event-driven background jobs such as:

  • Sending welcome emails on user registration
  • Notifying team members on task assignment
  • Scheduled project reminders

SendGrid & Nodemailer — Email Delivery

Transactional emails are sent via SendGrid (production) and Nodemailer (development/testing), keeping your communication workflow flexible.


🌐 Deployment

Layer Platform
Frontend Vercel
Backend Render / Railway
Auth Clerk (hosted)
Jobs Inngest Cloud
Email SendGrid

📄 License

This project is licensed under the MIT License.


🙌 Acknowledgements

About

A modern, intuitive project management web application built to help teams plan and track work efficiently. Users can create and organize projects, assign tasks to team members, set deadlines, and monitor progress in real‑time. Designed for both small teams and larger organizations, the app.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages