182 lines
6.7 KiB
Markdown

# Arctic Species 2025 Frontend
**Work in Progress!**
A collaborative project between:
- School of Humanities and Social Sciences
- Thomas Barry
- Dean of School
- Magnus SMari Smarason
- AI Project Manager
University of Akureyri
A comprehensive web application for tracking and analyzing Arctic species data, including CITES trade records, IUCN assessments, and conservation status. This project is part of the Arctic Species 2025 initiative.
## Features
- **Arctic Species Search & Details**
- Search by scientific name or common name
- Detailed species information including taxonomy
- Multiple common names support
- Arctic subpopulation tracking
- Region-specific conservation status
- High-quality species images from iNaturalist
- Interactive image viewer with attribution
- **CITES Information**
- Complete CITES listing history
- Current CITES status
- Detailed trade records with advanced filtering:
- Year range selection for temporal analysis
- Term filtering to focus on specific specimen types
- Historical trade data analysis
- Arctic-specific trade patterns
- Interactive trade visualizations with smart consolidation of small categories
- Filterable trade records table
- Real-time visualization updates based on applied filters
- **IUCN Assessments**
- Latest IUCN Red List status
- Historical assessment tracking
- Population trend analysis
- Arctic region-specific assessments
- Color-coded status indicators
- **Timeline View**
- Chronological view of species events
- CITES listing changes
- IUCN assessment updates
- Trade record history
- Arctic conservation milestones
- **Data Visualization**
- Trade records over time with year range filtering
- Top importers and exporters
- Distribution of traded terms with smart grouping of small categories
- Trade purposes and sources
- Interactive charts and graphs that update with filters
## Tech Stack
- **Frontend**: React + TypeScript + Vite
- **UI Components**: Shadcn/ui
- **Styling**: Tailwind CSS
- **Database**: Supabase (PostgreSQL)
- **State Management**: React Query
- **Routing**: React Router
- **Charts**: Recharts
- **Image Integration**: iNaturalist API
## Getting Started
### Prerequisites
- Node.js (v18 or higher)
- npm or yarn
- Supabase account and project
### Environment Setup
1. Clone the repository:
```bash
git clone https://github.com/yourusername/arctic-species-2025-frontend.git
cd arctic-species-2025-frontend
```
2. Install dependencies:
```bash
npm install
```
3. Create a `.env` file in the root directory with your Supabase credentials:
```
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
```
4. Start the development server:
```bash
npm run dev
```
The application will be available at `http://localhost:5173`
## Database Schema
The application uses the following main tables:
- `species`: Core species information
- `common_names`: Alternative names for species
- `subpopulations`: Species subpopulation data
- `iucn_assessments`: IUCN Red List assessments
- `cites_listings`: CITES listing history
- `cites_trade_records`: CITES trade data
- `timeline_events`: Chronological events
## Data Sources
- **Species Images**: iNaturalist API (https://api.inaturalist.org/)
- **CITES Data**: CITES Trade Database (https://trade.cites.org/)
- **IUCN Data**: IUCN Red List (https://www.iucnredlist.org/)
- **Species Information**: Arctic Species Database
## Recent Improvements
### Trade Data Visualization
- **Smart Category Consolidation**: Small categories in pie charts (less than 2% of total) are automatically grouped into an "Other" category for improved readability
- **Filter-Aware Visualizations**: All charts and visualizations now update based on the current filter selections
- **Year Range Filtering**: Replaced single year filter with start and end year selection for more flexible temporal analysis
- **Visual Hierarchy**: Improved label spacing and formatting in visualizations for better readability
### Trade Data Filtering System
- **Simplified Filter Interface**: Streamlined the filtering interface for better usability
- **Year Range Selection**: Added ability to filter trade data by a specific range of years
- **Real-time Updates**: Both the data table and visualizations update instantly as filters are applied
- **Filter Indicators**: Clear visual indicators when filters are active with an easy reset option
## Future Enhancements
### CRUD Operations Improvements
- **Enhanced IUCN Assessment Management**: Add full CRUD operations for IUCN assessments, allowing users to add, edit, and delete assessment records
- **Subpopulation Management**: Implement CRUD operations for managing Arctic subpopulations and their specific conservation statuses
- **Common Names Management**: Add interface for managing multiple common names across different languages and regions
- **Bulk Operations**: Support for batch creation, updating, and deletion of records
- **User Permissions**: Role-based access control for different CRUD operations
### Trade Data Improvements
- **Advanced Filtering**: Further enhance trade data filtering with:
- Multi-select filters
- Combined filters with AND/OR logic
- Filter presets and saved filters
- **Quantity-Based Filtering**: Filter by trade volume thresholds
- **Geographic Filtering**: Filter by specific regions, countries, or trade routes
- **Export Filtered Data**: Allow exporting filtered trade data in various formats (CSV, Excel, JSON)
- **Custom Visualizations**: User-configurable charts based on selected filters
### Timeline Enhancements
- **Conservation Status Flags**: Add visual indicators/flags on the timeline when conservation status changes occur
- **Trade Impact Analysis**: Correlation between conservation status changes and trade patterns
- **Cause-Effect Visualization**: Visual connections between conservation events and subsequent trade activity
- **Predictive Indicators**: Highlight potential conservation concerns based on trade pattern changes
- **Custom Event Categories**: Allow users to create and filter by custom event types
- **Comparative Timelines**: View multiple species timelines side-by-side for comparison
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Acknowledgments
- CITES Secretariat for trade data
- IUCN Red List for assessment data
- iNaturalist for species images
- Arctic Council for regional guidance
- All contributors and maintainers