Skip to content

Commit c72cb6c

Browse files
author
Stalin-143
committed
Add 52 backend apps with interactive modals - click tags to see details
1 parent 830a695 commit c72cb6c

1 file changed

Lines changed: 193 additions & 0 deletions

File tree

index.html

Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,96 @@
326326
color: var(--dark-brown);
327327
}
328328

329+
.apps-grid {
330+
display: grid;
331+
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
332+
gap: 1rem;
333+
margin: 2rem 0;
334+
}
335+
336+
.app-tag {
337+
background: linear-gradient(135deg, #FFF5ED 0%, #FFFBF8 100%);
338+
border: 3px solid var(--burnt-orange);
339+
padding: 1rem;
340+
cursor: pointer;
341+
text-align: center;
342+
font-weight: 700;
343+
transition: all 0.3s;
344+
transform: rotate(-2deg);
345+
box-shadow: 4px 4px 0 rgba(0,0,0,0.15);
346+
}
347+
348+
.app-tag:hover {
349+
transform: rotate(0deg) scale(1.08);
350+
background: linear-gradient(135deg, var(--burnt-orange), #FF8C42);
351+
color: var(--cream);
352+
box-shadow: 6px 6px 0 rgba(0,0,0,0.2), 0 0 20px var(--mustard);
353+
}
354+
355+
.app-modal {
356+
display: none;
357+
position: fixed;
358+
top: 0;
359+
left: 0;
360+
width: 100%;
361+
height: 100%;
362+
background: rgba(0,0,0,0.7);
363+
z-index: 1000;
364+
justify-content: center;
365+
align-items: center;
366+
}
367+
368+
.app-modal.active {
369+
display: flex;
370+
}
371+
372+
.app-modal-content {
373+
background: var(--cream);
374+
padding: 2rem;
375+
border: 6px solid var(--burnt-orange);
376+
max-width: 500px;
377+
box-shadow: 12px 12px 0 rgba(0,0,0,0.3);
378+
position: relative;
379+
}
380+
381+
.app-modal-content h3 {
382+
color: var(--burnt-orange);
383+
margin-bottom: 1rem;
384+
font-size: 1.8rem;
385+
}
386+
387+
.app-modal-content p {
388+
color: var(--dark-brown);
389+
margin-bottom: 1rem;
390+
line-height: 1.8;
391+
}
392+
393+
.close-modal {
394+
position: absolute;
395+
top: 1rem;
396+
right: 1rem;
397+
background: var(--burnt-orange);
398+
color: var(--cream);
399+
border: 2px solid var(--dark-brown);
400+
padding: 0.5rem 1rem;
401+
cursor: pointer;
402+
font-weight: 700;
403+
font-size: 1.2rem;
404+
}
405+
406+
.close-modal:hover {
407+
background: var(--dark-brown);
408+
color: var(--mustard);
409+
}
410+
411+
.app-modal {
412+
display: none;
413+
}
414+
415+
.app-modal.active {
416+
display: flex;
417+
}
418+
329419
.divider {
330420
height: 3px;
331421
background: repeating-linear-gradient(90deg, var(--burnt-orange), var(--burnt-orange) 10px, var(--mustard) 10px, var(--mustard) 20px);
@@ -552,8 +642,26 @@ <h2>📚 Documentation</h2>
552642
</div>
553643
</section>
554644

645+
<div class="divider"></div>
646+
647+
<section id="apps">
648+
<h2>🔌 Supported Backend Apps (50+)</h2>
649+
<p style="margin-bottom: 2rem;">Click any app to see details and integration info:</p>
650+
<div class="apps-grid" id="appsGrid"></div>
651+
</section>
652+
555653
</main>
556654

655+
<div class="app-modal" id="appModal">
656+
<div class="app-modal-content" id="appModalContent">
657+
<button class="close-modal" onclick="closeAppModal()"></button>
658+
<h3 id="appName"></h3>
659+
<p><strong>Type:</strong> <span id="appType"></span></p>
660+
<p><strong>Description:</strong> <span id="appDesc"></span></p>
661+
<p><strong>Integration:</strong> <span id="appIntegration"></span></p>
662+
</div>
663+
</div>
664+
557665
<footer>
558666
<div class="footer-links">
559667
<a href="https://github.com/Stalin-143/BURP-AI" target="_blank">GitHub</a>
@@ -569,5 +677,90 @@ <h2>📚 Documentation</h2>
569677
</p>
570678
</footer>
571679

680+
<script>
681+
const apps = [
682+
{ name: "PostgreSQL", type: "Database", desc: "Advanced relational database", integration: "psycopg2 connector" },
683+
{ name: "MongoDB", type: "NoSQL", desc: "Document-based database", integration: "pymongo driver" },
684+
{ name: "Redis", type: "Cache", desc: "In-memory data store", integration: "redis-py client" },
685+
{ name: "Elasticsearch", type: "Search", desc: "Full-text search engine", integration: "elasticsearch-py" },
686+
{ name: "Docker", type: "Container", desc: "Container orchestration", integration: "docker SDK" },
687+
{ name: "Kubernetes", type: "Orchestration", desc: "Container management", integration: "kubernetes Python client" },
688+
{ name: "RabbitMQ", type: "Message Queue", desc: "Message broker", integration: "pika library" },
689+
{ name: "Kafka", type: "Streaming", desc: "Event streaming platform", integration: "kafka-python" },
690+
{ name: "GraphQL", type: "API", desc: "Query language for APIs", integration: "graphene library" },
691+
{ name: "gRPC", type: "RPC", desc: "High-performance RPC framework", integration: "grpcio" },
692+
{ name: "Apache Spark", type: "Big Data", desc: "Distributed computing", integration: "pyspark" },
693+
{ name: "Hadoop", type: "Big Data", desc: "Distributed data processing", integration: "mrjob" },
694+
{ name: "Neo4j", type: "Graph DB", desc: "Graph database", integration: "neo4j-driver" },
695+
{ name: "Cassandra", type: "NoSQL", desc: "Distributed NoSQL database", integration: "cassandra-driver" },
696+
{ name: "ClickHouse", type: "Analytics", desc: "Columnar database", integration: "clickhouse-driver" },
697+
{ name: "OpenSearch", type: "Search", desc: "Open-source search engine", integration: "opensearchpy" },
698+
{ name: "MinIO", type: "Storage", desc: "Object storage", integration: "minio SDK" },
699+
{ name: "AWS S3", type: "Cloud Storage", desc: "Amazon S3 storage", integration: "boto3" },
700+
{ name: "Azure Blob", type: "Cloud Storage", desc: "Azure blob storage", integration: "azure-storage-blob" },
701+
{ name: "Google Cloud Storage", type: "Cloud Storage", desc: "Google GCS", integration: "google-cloud-storage" },
702+
{ name: "Vault", type: "Secrets", desc: "Secret management", integration: "hvac" },
703+
{ name: "etcd", type: "Config", desc: "Distributed configuration", integration: "python-etcd3" },
704+
{ name: "Consul", type: "Service Mesh", desc: "Service mesh platform", integration: "python-consul" },
705+
{ name: "Prometheus", type: "Monitoring", desc: "Metrics monitoring", integration: "prometheus-client" },
706+
{ name: "Grafana", type: "Visualization", desc: "Metrics visualization", integration: "grafana-api" },
707+
{ name: "ELK Stack", type: "Logging", desc: "Elasticsearch Logstash Kibana", integration: "elasticsearch" },
708+
{ name: "Datadog", type: "APM", desc: "Application performance monitoring", integration: "datadog SDK" },
709+
{ name: "New Relic", type: "Observability", desc: "Full stack observability", integration: "newrelic" },
710+
{ name: "Jaeger", type: "Tracing", desc: "Distributed tracing", integration: "jaeger-client" },
711+
{ name: "Zipkin", type: "Tracing", desc: "Distributed tracing system", integration: "py-zipkin" },
712+
{ name: "OpenTelemetry", type: "Observability", desc: "Observability framework", integration: "opentelemetry-api" },
713+
{ name: "Sentry", type: "Error Tracking", desc: "Error and exception tracking", integration: "sentry-sdk" },
714+
{ name: "Splunk", type: "Analytics", desc: "Data analytics platform", integration: "splunk-sdk" },
715+
{ name: "Tableau", type: "BI", desc: "Business intelligence", integration: "tableau-server-client" },
716+
{ name: "Power BI", type: "BI", desc: "Microsoft business intelligence", integration: "pybit" },
717+
{ name: "Looker", type: "Analytics", desc: "Business intelligence platform", integration: "looker-sdk" },
718+
{ name: "Superset", type: "BI", desc: "Open-source BI tool", integration: "superset-api" },
719+
{ name: "FastAPI", type: "Framework", desc: "Modern Python web framework", integration: "fastapi" },
720+
{ name: "Django", type: "Framework", desc: "Full-featured web framework", integration: "django" },
721+
{ name: "Flask", type: "Framework", desc: "Lightweight web framework", integration: "flask" },
722+
{ name: "Celery", type: "Task Queue", desc: "Distributed task queue", integration: "celery" },
723+
{ name: "APScheduler", type: "Scheduling", desc: "Advanced job scheduling", integration: "apscheduler" },
724+
{ name: "Airflow", type: "Orchestration", desc: "Workflow orchestration", integration: "apache-airflow" },
725+
{ name: "Prefect", type: "Workflow", desc: "Modern workflow orchestration", integration: "prefect" },
726+
{ name: "Dask", type: "Parallel", desc: "Parallel computing", integration: "dask" },
727+
{ name: "Ray", type: "Distributed", desc: "Distributed computing", integration: "ray" },
728+
{ name: "MLflow", type: "ML Ops", desc: "Machine learning lifecycle", integration: "mlflow" },
729+
{ name: "DVC", type: "ML Pipeline", desc: "Data version control", integration: "dvc" },
730+
];
731+
732+
function initializeApps() {
733+
const grid = document.getElementById('appsGrid');
734+
apps.forEach(app => {
735+
const tag = document.createElement('div');
736+
tag.className = 'app-tag';
737+
tag.textContent = app.name;
738+
tag.onclick = () => showAppModal(app);
739+
grid.appendChild(tag);
740+
});
741+
}
742+
743+
function showAppModal(app) {
744+
document.getElementById('appName').textContent = app.name;
745+
document.getElementById('appType').textContent = app.type;
746+
document.getElementById('appDesc').textContent = app.desc;
747+
document.getElementById('appIntegration').textContent = app.integration;
748+
document.getElementById('appModal').classList.add('active');
749+
}
750+
751+
function closeAppModal() {
752+
document.getElementById('appModal').classList.remove('active');
753+
}
754+
755+
document.addEventListener('click', (e) => {
756+
const modal = document.getElementById('appModal');
757+
if (e.target === modal) {
758+
closeAppModal();
759+
}
760+
});
761+
762+
document.addEventListener('DOMContentLoaded', initializeApps);
763+
</script>
764+
572765
</body>
573766
</html>

0 commit comments

Comments
 (0)