A modern weather data visualization and management platform built with React, TypeScript, and Vite. This application provides an intuitive interface for weather data analysis, forecasting, and administrative management.
- Weather Data Visualization: Interactive charts and maps for weather data analysis
- User Authentication: Secure login/register with Google OAuth integration
- Admin Dashboard: Comprehensive administrative interface for data management
- Responsive Design: Modern UI built with Tailwind CSS and shadcn/ui components
- Real-time Data: Integration with weather APIs for live data updates
- Data Export: Report generation and data export capabilities
- React 19 - Latest React with concurrent features
- TypeScript - Type-safe development
- Vite - Fast build tool and development server
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Modern React component library
- Radix UI - Accessible component primitives
- Ant Design - Enterprise-class UI components
- Material-UI - React components implementing Google's Material Design
- Lucide React - Beautiful & consistent icon toolkit
- TanStack Query (React Query) - Powerful data synchronization
- TanStack Router - Type-safe routing solution
- Axios - HTTP client for API requests
- MUI X Charts - Advanced charting components
- React Markdown - Markdown rendering support
- ESLint - Code linting with modern configurations
- TypeScript ESLint - TypeScript-specific linting rules
- Vite Plugin React SWC - Fast refresh with SWC
src/
βββ app/ # Application core
β βββ boundary.tsx # Error boundaries
β βββ provider.tsx # Global providers
β βββ router.tsx # Route configuration
βββ components/ # Reusable UI components
β βββ auth/ # Authentication components
β βββ customized/ # Custom component variants
β βββ error/ # Error handling components
β βββ fallback/ # Loading and fallback states
β βββ icons/ # Icon components
β βββ logos/ # Brand logos
β βββ ui/ # Base UI components
βββ config/ # Configuration files
β βββ env.client.ts # Environment variables
βββ constants/ # Application constants
βββ features/ # Feature-based modules
β βββ admin/ # Admin dashboard
β βββ auth/ # Authentication
β βββ informational/ # About/Contact pages
β βββ landing/ # Landing page
β βββ test/ # Testing utilities
β βββ weather-map/ # Weather visualization
βββ hooks/ # Custom React hooks
βββ lib/ # Utility libraries
βββ services/ # API services
βββ storage/ # Local storage utilities
βββ types/ # TypeScript type definitions
-
Clone the repository
git clone <repository-url> cd ww-fe
-
Install dependencies
npm install
-
Environment Setup Create a
.env.local
file in the root directory:VITE_APP_API_URL=your_api_endpoint_here
-
Start development server
npm run dev
Script | Description |
---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run preview |
Preview production build |
npm run lint |
Run ESLint |
npm run lint:fix |
Fix ESLint issues automatically |
The application uses TanStack Router for type-safe routing:
/
- Landing page/login
,/register
- Authentication pages/admin/*
- Administrative dashboard/admin/dashboard
- Main dashboard/admin/profile
- User profile management/admin/report
- Data reports
/about
,/contact
- Informational pages/test
- Development testing area/weather-map
- Weather visualization (coming soon)
The application supports multiple authentication methods:
- Email/Password authentication
- Google OAuth integration
- Protected routes with role-based access control
- Button - Primary action buttons
- Card - Content containers
- Input - Form inputs with validation
- Table - Data display tables
- Tabs - Tabbed navigation
- Protected Route - Authentication wrapper
- Suspense Fallback - Loading states
- Error Boundaries - Error handling
The application includes robust API integration:
- ApiService - Main API client with interceptors
- MockApiService - Development and testing
- Error Handling - Comprehensive error management
- Token Management - Automatic authentication token handling
VITE_APP_API_URL
- Backend API endpoint
tsconfig.app.json
- Application TypeScript configtsconfig.node.json
- Node.js TypeScript config- Strict type checking enabled
Modern ESLint setup with:
- TypeScript-aware rules
- React-specific linting
- Automatic code formatting
-
Build the application
npm run build
-
Preview the build locally
npm run preview
-
Deploy to your hosting platform The
dist
folder contains the production build ready for deployment.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow TypeScript best practices
- Use functional components with hooks
- Implement proper error boundaries
- Write descriptive commit messages
- Ensure responsive design compatibility
- Add appropriate loading states
-
Build Errors
- Ensure all TypeScript types are properly defined
- Check for missing dependencies
-
API Connection Issues
- Verify
VITE_APP_API_URL
environment variable - Check network connectivity
- Verify
-
Authentication Problems
- Clear browser local storage
- Verify API token validity
This project is part of the Weather Web application suite. Please refer to the main repository for licensing information.
- Backend API - Weather data processing and storage
- Data Pipeline - Weather data ingestion and processing
- Mobile App - Companion mobile application
Built with β€οΈ using modern web technologies for weather data professionals.