A React dashboard application built with TypeScript and Tailwind CSS, providing user authentication and interactive analytics.
- User Authentication: Secure login to access the dashboard.
- Responsive Design: Optimized for devices of all sizes.
- Data Visualization: Interactive charts and graphs using Recharts.
- Live Deployment: [Rainforest Analytics Dashboard](https://rainforestanalytics.netlify.app)
- GitHub Repository: [Analytics Dashboard Repository](https://github.com/Myches/AnalyticsDashboard.git)
- Node.js (v16 or later)
- npm or yarn package manager
git clone https://github.com/Myches/AnalyticsDashboard.git cd AnalyticsDashboard npm install # or yarn install npm run dev # or yarn run dev
The application is deployed on Netlify using the "Import from GitHub" feature. Follow the steps below to replicate the deployment process:
- Log in to Netlify: Go to Netlify and log in.
- Import Repository: Click on "Add New Site" > "Import an Existing Project" and connect your GitHub account.
- Select Repository: Choose AnalyticsDashboard from the list of repositories.
- Build Settings:
- Build command: npm run build
- Publish directory: dist (or build depending on your bundler setup)
- Deploy: Click "Deploy Site," and Netlify will automatically build and host the application.
The project is structured into directories for easy navigation and scalability:
- public/: Static assets, including the app's favicon and images.
- src/: Main application code, including:
- components/: Reusable UI elements like Sidebar, LoadingSpinner, ChartData, etc.
- pages/: Views corresponding to app routes (e.g., Dashboard, Login).
- hooks/: Custom React hooks for reusable fetching logic (e.g., API fetching).
- layouts/: Shared layouts for pages (e.g., main layout).
- api/: API calls and business logic (e.g., authentication service).
- types/: TypeScript definitions for consistent data modeling.
- React.js
- TypeScript
- Axios
- React Icons
- Recharts (for charts and graphs)
- Tailwind CSS
- React Router DOM (for routing)
- React Hook Form (for form validation)
- React Loader Spinner (for loading states)
- Jest (for unit testing)