A React application built with Patternfly for managing GitHub project milestones and issues.
- View all project milestones in vertically stacked cards
- Expand milestones to see associated issues
- View issues in horizontally stacked cards with multiple rows
- Markdown-formatted issue descriptions
- User information with avatars
- Days since issue creation tracking
- Direct links to GitHub issues
- Install dependencies:
npm install- Start the development server:
npm run devThe application will be available at http://localhost:3000.
To build for production:
npm run buildRun tests:
npm testRun tests with UI:
npm run test:uiRun tests with coverage:
npm run test:coverageFormat all code with Prettier:
npm run formatCheck if code is formatted correctly:
npm run format:checkThe frontend expects the backend API to be running on http://localhost:8000. The Vite dev server is configured to proxy /api requests to the backend.
GET /api/milestones- Returns list of milestonesGET /api/issues/{milestone_number}- Returns issues for a milestone
frontend/
├── src/
│ ├── components/
│ │ ├── MilestoneCard.jsx
│ │ ├── IssueCard.jsx
│ │ └── *.test.jsx
│ ├── services/
│ │ ├── api.js
│ │ └── *.test.js
│ ├── utils/
│ │ ├── dateUtils.js
│ │ └── *.test.js
│ ├── test/
│ │ └── setup.js
│ ├── App.jsx
│ └── main.jsx
├── index.html
├── package.json
├── vite.config.js
└── README.md
- React 18
- Patternfly React Components
- Vite
- Vitest for testing
- React Testing Library
- React Markdown for rendering issue descriptions
- Prettier for code formatting