Major restructure: Remove Confluence, add V2 data structure, organize for dev/prod

- Import real data from PDF (35 Bambu Lab filaments)
- Remove all Confluence integration and dependencies
- Implement new V2 data structure with proper inventory tracking
- Add backwards compatibility for existing data
- Create enhanced UI components (ColorSwatch, InventoryBadge, MaterialBadge)
- Add advanced filtering with quick filters and multi-criteria search
- Organize codebase for dev/prod environments
- Update Lambda functions to support both V1/V2 formats
- Add inventory summary dashboard
- Clean up project structure and documentation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
DaX
2025-06-20 01:12:50 +02:00
parent a2252fa923
commit 18110ab159
40 changed files with 2171 additions and 1094 deletions

View File

@@ -1,11 +1,10 @@
# Filamenteka
A web application for tracking Bambu Lab filament inventory with automatic color coding, synced from Confluence documentation.
A web application for tracking Bambu Lab filament inventory with automatic color coding.
## Features
- 🎨 **Automatic Color Coding** - Table rows are automatically colored based on filament colors
- 🔄 **Confluence Sync** - Pulls filament data from Confluence table every 5 minutes
- 🔍 **Search & Filter** - Quick search across all filament properties
- 📊 **Sortable Columns** - Click headers to sort by any column
- 🌈 **Gradient Support** - Special handling for gradient filaments like Cotton Candy Cloud
@@ -14,7 +13,7 @@ A web application for tracking Bambu Lab filament inventory with automatic color
## Technology Stack
- **Frontend**: React + TypeScript + Tailwind CSS
- **Backend**: API routes for Confluence integration
- **Backend**: Next.js API routes
- **Infrastructure**: AWS Amplify (Frankfurt region)
- **IaC**: Terraform
@@ -24,7 +23,6 @@ A web application for tracking Bambu Lab filament inventory with automatic color
- AWS Account
- Terraform 1.0+
- GitHub account
- Confluence account with API access
## Setup Instructions
@@ -41,14 +39,7 @@ cd filamenteka
npm install
```
### 3. Configure Confluence Access
Create a Confluence API token:
1. Go to https://id.atlassian.com/manage-profile/security/api-tokens
2. Create a new API token
3. Note your Confluence domain and the page ID containing your filament table
### 4. Deploy with Terraform
### 3. Deploy with Terraform
```bash
cd terraform
@@ -60,23 +51,9 @@ terraform plan
terraform apply
```
### 5. Environment Variables
The following environment variables are needed:
- `CONFLUENCE_API_URL` - Your Confluence instance URL (e.g., https://your-domain.atlassian.net)
- `CONFLUENCE_TOKEN` - Your Confluence API token
- `CONFLUENCE_PAGE_ID` - The ID of the Confluence page containing the filament table
## Local Development
```bash
# Create .env file for local development
cat > .env << EOF
CONFLUENCE_API_URL=https://your-domain.atlassian.net
CONFLUENCE_TOKEN=your_api_token
CONFLUENCE_PAGE_ID=your_page_id
EOF
# Run development server
npm run dev
```
@@ -85,7 +62,7 @@ Visit http://localhost:5173 to see the app.
## Table Format
Your Confluence table should have these columns:
The filament table should have these columns:
- **Brand** - Manufacturer (e.g., BambuLab)
- **Tip** - Material type (e.g., PLA, PETG, ABS)
- **Finish** - Finish type (e.g., Basic, Matte, Silk)
@@ -131,13 +108,8 @@ export const bambuLabColors: Record<string, ColorMapping> = {
## Troubleshooting
### Confluence Connection Issues
- Verify your API token is valid
- Check the page ID is correct
- Ensure your Confluence user has read access to the page
### Color Not Showing
- Check if the color name in Confluence matches exactly
- Check if the color name matches exactly
- Add the color mapping to `bambuLabColors.ts`
- Colors are case-insensitive but spelling must match