A modern React frontend application for data analytics and visualization, featuring a responsive dashboard interface.
- React - A JavaScript library for building user interfaces
- Next.js - The React Framework for Production
- TypeScript - JavaScript with syntax for types
- Tailwind CSS - A utility-first CSS framework
- React Query - Powerful asynchronous state management
- Axios - Promise based HTTP client
- Responsive Dashboard Layout
- Real-time Data Updates
- Interactive Charts and Graphs
- User Authentication
- Dark/Light Theme
- Error Handling
- Loading States
The application uses JWT authentication with:
- Access tokens for API requests
- Refresh token mechanism
- Automatic token refresh
- Protected routes
- Persistent login state
- Mobile-first approach
- Tailwind CSS for styling
- Responsive components
- Adaptive layouts
- React Query for server state
- Context API for global state
- Local storage for persistence
- Form state management
- Node.js 18.17 or later
- npm or yarn
- Clone the repository
git clone https://github.com/patriciasegantine/dashboard-analytics-frontend.git
cd dashboard-analytics-frontend
- Install dependencies
npm install
- Set up environment variables
cp .env.example .env
- Configure your .env file with:
NEXT_PUBLIC_API_URL=http://localhost:4000
npm run dev
npm run build
npm run start
frontend/
├── public/
├── node_modules/
├── src/
│ ├── app/
│ │ ├── (auth)/
│ │ └── (dashboard)/
│ ├── components/
│ ├── hooks/
│ ├── services/
│ ├── types/
│ └── utils/
└── package.json
- Next.js 13+ App Router
- Route Groups
- Layouts
- Server and Client Components
This project uses the Dashboard Analytics API for data management and authentication:
- API Repository: Dashboard Analytics API
- Base URL:
http://localhost:3000
POST /auth/register
- Create new user accountPOST /auth/login
- User authenticationPOST /auth/refresh-token
- Refresh access tokenGET /auth/me
- Get user profilePOST /auth/logout
- User logout
POST /auth/forgot-password
- Request password resetPOST /auth/reset-password
- Reset user password
For more details about the API, please check the API Documentation.
This project is licensed under the MIT License - see the LICENSE file for details.
Created with ❤️ by Patricia Segantine