A responsive project management web application built with React, TypeScript, and Vite, powered by Firebase for backend storage and Playwright for End-to-End (E2E) testing.
- Project Management: Create, view, update, and delete projects.
- User Stories & Tasks: Manage stories and granular tasks with priority levels, assignees, and progress states (To Do, Doing, Done).
- User Assignment: Assign tasks to team members with dedicated user services.
- Notifications System: Real-time feedback and state update alerts.
- E2E Testing: Automated end-to-end test suite covering full project & task lifecycle via Playwright.
- Frontend: React, TypeScript, Tailwind CSS, Vite
- Backend / Database: Firebase / Firestore
- Testing: Playwright (E2E), ESLint
- Tooling: PostCSS, npm
├── src/
│ ├── services/ # Business logic & Firebase services (Project, Story, Task, User, Notification)
│ ├── types/ # TypeScript interfaces & data models
│ ├── firebase.ts # Firebase initialization & configuration
│ ├── App.tsx # Root component & view routing
│ └── main.tsx # Application entry point
├── tests/ # Playwright E2E test suites
└── playwright.config.ts # Playwright configuration
- Node.js (v18+)
- npm / yarn / pnpm
-
Clone the repository:
git clone https://github.com/your-username/typescript-lab.git cd typescript-lab -
Install dependencies:
npm install
-
Configure Environment: Set up your Firebase credentials in
src/firebase.tsor via.env. -
Run Development Server:
npm run dev
-
Run E2E Tests:
npx playwright test