A modern, full-stack anime tracking application built with React and Supabase, featuring real-time data synchronization, advanced filtering, and a beautiful responsive UI.
git clone https://github.com/yourusername/anime-tracker.git
cd anime-tracker
npm install
cp .env.example .env
Fill in your Supabase credentials:
REACT_APP_SUPABASE_URL=your_supabase_url
REACT_APP_SUPABASE_ANON_KEY=your_supabase_anon_key
npm start
# Run tests in watch mode
npm test
# Run tests with coverage
npm run test:coverage
# Run tests in CI mode
npm run test:ci
src/
โโโ components/ # Reusable UI components
โ โโโ ActivityGraph.js # User activity visualization
โ โโโ AnimeCard.js # Anime display component
โ โโโ ImageCropper.js # Image editing functionality
โ โโโ Navbar.js # Navigation component
โ โโโ Toast.js # Notification system
โโโ context/ # React Context providers
โ โโโ AuthContext.js # Authentication state management
โโโ pages/ # Route components
โ โโโ DashboardPage.js # Main dashboard
โ โโโ ProfilePage.js # User profile management
โ โโโ SearchPage.js # Anime search interface
โ โโโ SettingsPage.js # User settings
โโโ services/ # API and external services
โ โโโ supabase.js # Supabase client configuration
โ โโโ userService.js # User-related API calls
โโโ utils/ # Utility functions
โโโ animeUtils.js # Anime data processing
โโโ imageUtils.js # Image handling utilities
The app uses Supabaseโs real-time subscriptions to keep user data synchronized across sessions and devices. Changes to watchlists, ratings, and progress are immediately reflected in the UI.
Implemented optimistic updates for better user experience - UI changes are applied immediately while API calls happen in the background. Failed operations automatically rollback with user notification.
Multi-criteria filtering including:
Built-in image cropping and optimization:
The application is automatically deployed to GitHub Pages on every push to the main branch.
# Build for production
npm run build
# Deploy to GitHub Pages
npm run deploy
git checkout -b feature/amazing-feature
)git commit -m 'Add amazing feature'
)git push origin feature/amazing-feature
)This project is licensed under the MIT License - see the LICENSE file for details.
Made with โค๏ธ by Christian Ian
If you find this project helpful, please give it a โญ๏ธ
Copy .env.example
to .env
and fill in your Supabase credentials:
REACT_APP_SUPABASE_URL=โฆ REACT_APP_SUPABASE_ANON_KEY=โฆ