A modern and responsive React application for discovering video games using the RAWG API.
Game Hub allows users to browse games, filter them by platform and release date, and explore detailed information in a clean and intuitive UI.
π Live Demo
- π Create, edit and delete issues
- π Markdown support for issue descriptions
- π Authentication with NextAuth
- π Dashboard with issue statistics
- π Charts for issue status overview
- βοΈ Form validation with Zod
- β‘ Fast data fetching with React Query
- π Toast notifications
- π Skeleton loading states
- π± Responsive UI
Displays issue statistics, status chart, and latest tasks.
Page showing all issues, with status filters and pagination.
Detailed view of a selected issue, Markdown description, assignee, and status.
Form for creating and editing issues with validation and Markdown editor.
- β² Next.js 13 (App Router)
- π· TypeScript
- βοΈ React
- π React Query (TanStack Query) β server state management
- π» Zustand β global UI state
- π¨ Tailwind CSS
- Radix UI
- React Icons
- React Hook Form
- Zod
- Next.js API Routes
- Prisma ORM (PostgreSQL / MySQL)
- NextAuth.js
- TanStack React Query
- Axios
- Recharts
Displays a summary of issue statuses with charts.
- issue statistics
- status overview
- interactive charts
Manage and browse all issues.
- create issues
- edit issues
- delete issues
- view issue details
Detailed page for a selected issue.
- issue description (Markdown)
- issue status
- creation information
app
β
βββ api # API routes
βββ auth # Authentication logic
βββ components # Reusable UI components
βββ issues # Issue pages
β
βββ layout.tsx # Root layout
βββ page.tsx # Dashboard page
βββ NavBar.tsx # Navigation bar
βββ IssueChart.tsx # Chart component
βββ IssueSummary.tsx # Dashboard summary
βββ QueryClientProvider.tsx
βββ validationSchemas.ts
prisma
βββ schema.prisma # Database schema
βββ client.ts # Prisma client
Uses the Next.js 13 routing system with:
- server components
- client components
- nested layouts
- API routes
Prisma is used for:
- database schema definition
- querying the database
- type-safe database access
Used for server state management:
- fetching data
- caching
- background refetching
- mutation handling
- Forms are built using:
- React Hook Form
- Zod schema validation
This provides type-safe form validation.
- Clean modern UI
- Responsive layout
- Skeleton loading states
- Toast notifications
- Markdown editor for issue descriptions
- Charts for analytics
- Server Components (Next.js)
- React Query caching
- Skeleton loaders during fetch
- Optimized API calls
Clone the repository:
git clone https://github.com/vasylpryimakdev/issue-tracker.git
cd issue-trackernpm installnpm run devhttp://localhost:3000DATABASE_URL = your_database_url_here;
NEXTAUTH_URL = your_nextauth_url_here;
NEXTAUTH_SECRET = your_nextauth_secret_here;
GOOGLE_CLIENT_ID = your_google_client_id_here;
GOOGLE_CLIENT_SECRET = your_google_client_secret_here;GitHub: https://github.com/vasylpryimakdev LinkedIn: https://www.linkedin.com/in/vasyl-pryimak-64a204384