Skip to content

Flashdaniel/hng-ticket-app-react

Repository files navigation

Ticket Management Application - React Implementation

This is the React implementation of the Ticket Management Application. The application provides a complete ticket management system with authentication, dashboard, and CRUD operations for tickets.

Technologies Used

  • React 18.2.0
  • TypeScript
  • Vite (for build tooling)
  • React Router DOM (for routing)
  • React Toastify (for notifications)
  • Emotion (for styled components)

Setup Instructions

  1. Install dependencies:

    npm install
  2. Start the development server:

    npm run dev
  3. Build for production:

    npm run build

Project Structure

ticket-app-react/
├── src/
│   ├── components/      # Reusable UI components
│   ├── pages/          # Page components
│   ├── contexts/       # React context providers
│   ├── styles/         # Global styles and theme
│   └── types/          # TypeScript type definitions
├── public/            # Static assets
└── package.json

Components Structure

  • AuthContext: Manages authentication state
  • Protected Routes: Guards authenticated routes
  • Layout Components: Implements consistent max-width and responsive design
  • Form Components: Handles validation and error display

Authentication

The application uses localStorage for session management:

  • Key: ticketapp_session
  • Token format: JWT-like structure with expiration

Test Credentials

Email: test@example.com
Password: Test123!

Accessibility Features

  • Semantic HTML structure
  • ARIA labels where necessary
  • Focus management
  • Color contrast compliance
  • Keyboard navigation support

Known Issues

  • Session token does not expire automatically (would require backend implementation)
  • Form validation is client-side only

Switching Between Implementations

To try different implementations:

  1. React (This version): http://localhost:3000
  2. Vue.js version: http://localhost:3001
  3. Twig version: http://localhost:3002

About

HNG intership ticket management app built with React

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published