🐾 Animal Shelter Management System - Demo

CS-499 Capstone Project Static Demonstration

🎯 Features Demonstrated

  • Database CRUD Operations: Complete Create, Read, Update, Delete functionality
  • Algorithm Implementation: LRU caching, sorting algorithms, data analysis
  • Database Optimization: Indexing, aggregation, schema validation
  • Web Dashboard: Real-time visualization and monitoring

📊 Performance Improvements

  • ✅ Query performance: 20× faster with indexing
  • ✅ Aggregation speed: 10× improvement
  • ✅ Cache efficiency: 85% hit ratio achieved
  • ✅ Memory optimization: O(n) → O(log n) complexity

🚀 How to Run Locally

For the full interactive experience with real database operations:

  1. Clone the repository: git clone https://github.com/annjessicatan/annjessicatan.github.io.git
  2. Navigate to project: cd annjessicatan.github.io/capstone-project/animal-shelter-system
  3. Install dependencies: pip install -r requirements.txt
  4. Run: python app.py
  5. Open: http://localhost:5000
View on GitHub README on GitHub Back to Portfolio

💻 Code Preview

Enhanced CRUD Module

# Sample code from TAN_CRUD_Python_Module.py
class AnimalShelter:
    """CRUD operations with comprehensive enhancements"""
    
    def read_with_cache(self, query, limit=1000, cache_ttl=300):
        """Read with LRU caching implementation"""
        cache_key = self._generate_cache_key(query, limit)
        
        if cache_key in self.cache:
            cached_data, timestamp = self.cache[cache_key]
            if time.time() - timestamp < cache_ttl:
                self.cache_stats['hits'] += 1
                self.cache.move_to_end(cache_key)
                return cached_data.copy()
        
        # Cache miss - query database
        self.cache_stats['misses'] += 1
        results = self.read(query, limit)
        
        # Store in cache
        self.cache[cache_key] = (results.copy(), time.time())
        self.cache.move_to_end(cache_key)
        
        # Enforce size limit
        if len(self.cache) > self.max_cache_size:
            self.cache.popitem(last=False)
            self.cache_stats['evictions'] += 1
        
        return results

This is a static demonstration. For the full interactive dashboard with live database operations, please run the application locally.

📞 Contact & Links

Author: Ann Jessica Tan

GitHub: @annjessicatan

Project Repository: annjessicatan.github.io

Capstone Portfolio: https://annjessicatan.github.io