A simple web application to manage projects and users, built with:
- ⚙️ Backend: NestJS (TypeScript)
- 🌐 Frontend: HTML, CSS, TypeScript (Vanilla)
- 🐳 Docker: For containerized development and deployment
- 📬 Email integration: Send emails on project assignment and completion
project-manager/
│
├── frontend/ # Static frontend with HTML/CSS/TS
│ ├── assets/
│ │ ├── main.ts
│ │ └── style.css
│ ├── pages/
│ │ ├── login.html
│ │ └── register.html
│ ├── index.html
│ ├── tsconfig.json
│ └── Dockerfile
│
├── backend/ # NestJS backend
│ ├── src/
│ ├── test/
│ ├── Dockerfile
│ └── ...
│
├── .gitignore
├── docker-compose.yml
└── README.md
| Name | Role & Branch | Task Description |
|---|---|---|
| Nick Munene | feature/nick-backend |
Docker (frontend + backend), Authorization & Authentication |
| Claude Nyongesa | feature/claude-frontend |
Static frontend development, HTML/CSS/TS setup |
| Alex Muhoro | feature/alex-backend |
NestJS backend, user/project controller setup |
Ensure you have Docker installed: 👉 Download Docker
# Navigate to backend directory
cd backend
# Build backend image
docker build -t project-backend .
# Run backend container
docker run -p 3000:3000 project-backendThen visit: http://localhost:3000
# Navigate to frontend directory
cd frontend
# Build frontend image
docker build -t project-frontend .
# Run frontend container
docker run -p 8080:80 project-frontendVisit: http://localhost:8080
# Navigate to project directory
cd project-management-app
docker-compose up --build - TypeScript is compiled to JS during build
- Frontend is served via Nginx from
dist/ - Backend runs using Node/NestJS
git clone <REPO_URL>
cd project-managergit checkout -b feature/<your-name>-<your-area> origin/feature/<your-name>-<your-area>Examples:
git checkout -b feature/claude-frontend origin/feature/claude-frontend
git checkout -b feature/alex-backend origin/feature/alex-backend# Pull latest changes
git pull origin dev
# Stage changes
git add .
# Commit
git commit -m "Add login page UI"
# Push your branch
git push origin feature/<your-name>-<your-area>- Go to GitHub repo
- Open PR: Your branch ➔
dev - Request review
- Ask Questions: If you're stuck, ask.
- Commit Often: Prevent data loss.
- Pull Regularly: Avoid conflicts.
- Use Clear Branch Names: For clarity (e.g.
feature/john-auth)
- Daily progress updates
- Work in branches
- Pull Requests review by team
🧠 “Teamwork begins by building trust.” – Patrick Lencioni