---
title: "Welcome to blockr"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Welcome to blockr}
  %\VignetteEngine{quarto::html}
  %\VignetteEncoding{UTF-8}
---

## What is blockr?

blockr is a visual framework for building data workflows. Instead of writing code, you work with blocks - each block performs a specific task like loading data, filtering rows, or creating a chart. Connect blocks together to build complete data pipelines.

```{r filter-block, out.width="100%", fig.cap="A blockr workflow: Dataset → Filter → Select → Plot"}
knitr::include_graphics("../man/figures/workflow-example.png")
```

## Who is it for?

blockr is designed for anyone who works with data:

- **Analysts** who want to explore data without writing code
- **Researchers** who need reproducible workflows
- **Teams** who want to share and collaborate on data pipelines

## How it works

1. **Add blocks** to your workspace - choose from data import, transformation, visualization, and export blocks
2. **Connect blocks** together to create a pipeline - data flows from one block to the next
3. **Configure blocks** using dropdowns, checkboxes, and input fields - no coding required
4. **See results** in real-time as you build - each block shows a preview of its output

## Available blocks

blockr comes with blocks for common data tasks:

**Import and Export**

- Import Data - Load CSV, Excel, SPSS, SAS, Stata, Parquet files from your computer, a server, or URLs
- Export Data - Save results to CSV, Excel, or Parquet files

**Data Transformation**

- Filter Rows - Keep rows matching specific values
- Select Columns - Choose which columns to keep
- Calculate Columns - Create new columns using formulas
- Aggregate Data - Calculate totals, averages, counts
- Sort Rows - Order data by column values
- Lookup & Merge - Combine tables by matching columns
- And more: Rename, Pivot, Stack, Split...

**Visualization**

- ggplot - Create scatter plots, bar charts, line graphs, histograms, and more
- Theme - Customize colors and styling
- Facet - Split plots into panels
- Grid - Combine multiple plots

## Next steps

- Install blockr locally: [`vignette("install", package = "blockr")`](https://bristolmyerssquibb.github.io/blockr/installation.html), if you want to run it on your own machine
- Working with blockr: [`vignette("blockr", package = "blockr")`](https://bristolmyerssquibb.github.io/blockr/working-with-blockr.html) - a guided walkthrough of building a workflow

## Core packages

blockr is built on six specialized packages:

**Foundational:**

- [blockr.core](https://bristolmyerssquibb.github.io/blockr.core/) - Framework and architecture
- [blockr.dag](https://bristolmyerssquibb.github.io/blockr.dag/) - Workflow management
- [blockr.dock](https://bristolmyerssquibb.github.io/blockr.dock/) - User interface components

**Block packages:**

- [blockr.dplyr](https://bristolmyerssquibb.github.io/blockr.dplyr/) - Data transformation blocks
- [blockr.ggplot](https://bristolmyerssquibb.github.io/blockr.ggplot/) - Visualization blocks
- [blockr.io](https://bristolmyerssquibb.github.io/blockr.io/) - File import and export blocks

## Extending blockr

Additional block packages can be installed for specific domains. For example, [blockr.ts](https://github.com/cynkra/blockr.ts) adds blocks for time series analysis.
