# Getting Started with Ignis

Welcome to Ignis — a TypeScript framework that combines enterprise architecture patterns with Hono's blazing performance. Whether you're building a SaaS backend, REST API, gRPC service, or microservice, these guides will take you from installation to production-ready code with type-safe database operations, auto-generated OpenAPI docs, and clean dependency injection.

<div class="guide-cards">

<a href="./get-started/setup" class="guide-card">
<h3>Setup</h3>
<p>Install Bun, PostgreSQL, and configure your IDE</p>
</a>

<a href="./get-started/5-minute-quickstart" class="guide-card highlight">
<h3>5-Min Quickstart</h3>
<p>Your first endpoint in 5 minutes</p>
</a>

<a href="./tutorials/complete-installation" class="guide-card">
<h3>Full Installation</h3>
<p>Production-ready project setup</p>
</a>

<a href="./tutorials/building-a-crud-api" class="guide-card">
<h3>Build a CRUD API</h3>
<p>Complete Todo API with database</p>
</a>

<a href="./tutorials/testing" class="guide-card">
<h3>Testing</h3>
<p>Write tests for your application</p>
</a>

<a href="./get-started/philosophy" class="guide-card">
<h3>Philosophy</h3>
<p>Why Ignis? Design decisions explained</p>
</a>

</div>

## Learning Roadmap

<div class="roadmap">

<div class="roadmap-stage">
<div class="stage-header">
<span class="stage-num">1</span>
<h4>First Steps</h4>
</div>
<p><a href="./get-started/setup">Setup</a> → <a href="./get-started/5-minute-quickstart">5-Min Quickstart</a></p>
<span class="stage-desc">Get your environment ready and build your first endpoint</span>
</div>

<div class="roadmap-stage">
<div class="stage-header">
<span class="stage-num">2</span>
<h4>Build Something Real</h4>
</div>
<p><a href="./tutorials/complete-installation">Full Installation</a> → <a href="./tutorials/building-a-crud-api">CRUD API</a> → <a href="./tutorials/testing">Testing</a></p>
<span class="stage-desc">Create a complete API with database, validation, and tests</span>
</div>

<div class="roadmap-stage">
<div class="stage-header">
<span class="stage-num">3</span>
<h4>Understand the Framework</h4>
</div>
<p><a href="./core-concepts/application">Application</a> → <a href="./core-concepts/rest-controllers">Controllers</a> → <a href="./core-concepts/services">Services</a> → <a href="./core-concepts/dependency-injection">DI</a></p>
<span class="stage-desc">Deep dive into core concepts and architecture patterns</span>
</div>

<div class="roadmap-stage">
<div class="stage-header">
<span class="stage-num">4</span>
<h4>Go to Production</h4>
</div>
<p><a href="/best-practices/">Best Practices</a> → <a href="/references/">API Reference</a></p>
<span class="stage-desc">Learn patterns, security, performance, and deployment</span>
</div>

</div>

> [!TIP] New to backend development?
> Check out our [Glossary](./reference/glossary) for explanations of key terms like Controllers, Repositories, and Dependency Injection.
