182 lines
6.7 KiB
Markdown
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
|