An immersive learning experience about dinosaurs through archaeological discoveries, interactive maps and scientific education.
Live Demo β’ Report Bug β’ Request Feature
- Complete database with over 500 dinosaur species
- Advanced filters by geological period, diet and location
- Smart search system with real-time search via Firestore
- Optimized pagination for efficient navigation
- Informative cards with complete scientific details
- Intelligent caching for better performance
- Geographic visualization of fossil discovery sites
- Leaflet integration for dynamic and responsive maps
- Custom markers for each archaeological site
- Detailed information about each discovery
- Interactive timeline of paleontological discoveries
- Chronological visualization of geological periods
- Historical milestones of world paleontology
- Interactive quizzes to test knowledge
- Educational content about paleontology
- Gamified learning experiences
- Secure login/signup via Firebase Auth
- Personalized profiles with activity history
- Learning progress saved in the cloud
- React 18.3.1 - Main framework for UI
- TypeScript 5.8.3 - Static typing for greater robustness
- Vite 5.4.19 - Ultra-fast build tool
- React Router DOM 6.30.1 - SPA routing
- TanStack Query 5.83.0 - State management and caching
- Tailwind CSS 3.4.17 - Utility CSS framework
- Radix UI - Accessible and customizable components
- Lucide React - Modern icon library
- Class Variance Authority - Typed component variants
- Framer Motion (via Tailwind Animate) - Smooth animations
- Leaflet 1.9.4 - Interactive maps
- React Leaflet 4.2.1 - React + Leaflet integration
- Turf.js 7.2.0 - Geospatial analysis
- Recharts 2.15.4 - Charts and data visualizations
- Firebase Auth - Authentication (Email/Password)
- Cloud Firestore - Document database
- i18next 25.5.2 - Translation system
- Support for 3 languages: Portuguese, English and Spanish
- Automatic detection of browser language
- ESLint 9.32.0 - Code linting
- PostCSS 8.5.6 - CSS processing
- Autoprefixer - Cross-browser CSS compatibility
graph TB
A[Frontend React] --> B[Firebase SDK]
B --> C[Cloud Firestore]
B --> D[Firebase Auth]
F[Leaflet Maps] --> A
G[TanStack Query] --> A
H[i18next] --> A
subgraph "Firebase Backend"
C --> I[Dinosaur Data]
D --> J[User Authentication]
end
subgraph "Frontend Stack"
A --> L[React Router]
A --> M[Radix UI]
A --> N[Tailwind CSS]
end
- Node.js 18+
- Git
- Firebase project (Auth + Firestore enabled)
git clone https://github.com/ensinho/dino-library.git
cd dino-library# With npm
npm install
# Copy the example file
cp .env.example .env
# Configure your variables in the .env file
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
VITE_FIREBASE_PROJECT_ID=your_firebase_project_id
VITE_FIREBASE_APP_ID=your_firebase_app_id
VITE_ENABLE_ANALYTICS=truenpm run dev
# or
npm run devThe application will be available at http://localhost:5173
npm run dev # Development server
npm run build # Production build
npm run preview # Preview production build
npm run lint # Run ESLint
npm run vercel-build # Optimized build for Vercel
## π Project Structure
dino-library/ βββ π src/ β βββ π components/ # React components β β βββ π ui/ # Base UI components β β βββ π layout/ # Layout components β βββ π pages/ # Application pages β βββ π services/ # Services and APIs β βββ π hooks/ # Custom React Hooks β βββ π lib/ # Utilities and configurations β βββ π integrations/ # External integrations βββ π public/ β βββ π locales/ # Translation files
## π Deployment
### **Vercel (Recommended)**
1. Connect your repository to Vercel
2. Configure environment variables
3. Automatic deployment on every push
### **Other providers**
```bash
# Build for production
npm run build
# The 'dist' folder contains files for deployment
Contributions are always welcome! To contribute:
- Fork the project
- Create a branch for your feature (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Favorites system for dinosaurs
- Augmented reality for 3D visualization
- Public API for developers
- Gamified achievement system
- Offline mode with PWA
- Partner museum integration
This project is under the MIT license. See the LICENSE file for more details.
Enzo Esmeraldo
- GitHub: @ensinho
- LinkedIn: Enzo Esmeraldo
- Email: [email protected]
Made with β€οΈ by Enzo Esmeraldo
β If this project helped you, consider giving it a star!
