Skip to content

Technologies Overview

LibreFolio is built with a modern, robust, and efficient technology stack. This page provides an overview of the key libraries and frameworks used in the project.

Backend

  • FastAPI: A high-performance web framework for building APIs with Python 3.11+, based on standard Python type hints. It provides automatic interactive documentation (Swagger UI and ReDoc).

  • SQLAlchemy: The SQL toolkit and Object-Relational Mapper (ORM) used for all database interactions. LibreFolio uses SQLAlchemy's asyncio support for non-blocking database queries.

  • Pydantic: A data validation and settings management library. It is used extensively for defining data schemas, validating API requests, and managing application settings.

  • Alembic: A lightweight database migration tool for SQLAlchemy. It allows for the management of database schema changes over time.

  • SQLite: The default database engine. It is simple, serverless, and perfect for a self-hosted application. The database is configured to run in WAL (Write-Ahead Logging) mode for better concurrency.

Frontend

  • SvelteKit: A web application framework for building fast, modern user interfaces. It provides server-side rendering (SSR), routing, and a great developer experience.

  • TypeScript: A statically typed superset of JavaScript that adds type safety to the frontend codebase.

  • TailwindCSS: A utility-first CSS framework for rapidly building custom designs.

  • Vite: The build tool and development server used for the frontend. It provides extremely fast Hot Module Replacement (HMR).

Testing

  • Pytest: The framework used for writing and running backend tests.
  • Playwright: A framework for end-to-end testing of the web application.
  • Coverage.py: A tool for measuring code coverage of Python programs.