# For Developers

- [Basics](/release-0.4.0/developers/developers-and-contributors.md)
- [Extending Pinot](/release-0.4.0/developers/developers-and-contributors/extending-pinot.md)
- [Writing Custom Aggregation Function](/release-0.4.0/developers/developers-and-contributors/extending-pinot/custom-aggregation-function.md)
- [Pluggable Streams](/release-0.4.0/developers/developers-and-contributors/extending-pinot/pluggable-streams.md)
- [Pluggable Storage](/release-0.4.0/developers/developers-and-contributors/extending-pinot/pluggable-storage.md)
- [Record Reader](/release-0.4.0/developers/developers-and-contributors/extending-pinot/record-reader.md)
- [Segment Fetchers](/release-0.4.0/developers/developers-and-contributors/extending-pinot/segment-fetchers.md)
- [Contribution Guidelines](/release-0.4.0/developers/developers-and-contributors/contribution-guidelines.md)
- [Code Setup](/release-0.4.0/developers/developers-and-contributors/code-setup.md)
- [Code Modules and Organization](/release-0.4.0/developers/developers-and-contributors/code-modules-and-organization.md): TODO: Deprecated
- [Update Documentation](/release-0.4.0/developers/developers-and-contributors/update-document.md)
- [Advanced](/release-0.4.0/developers/advanced.md)
- [Data Ingestion Overview](/release-0.4.0/developers/advanced/data-ingestion.md)
- [Advanced Pinot Setup](/release-0.4.0/developers/advanced/advanced-pinot-setup.md)
- [Tutorials](/release-0.4.0/developers/tutorials.md)
- [Pinot Architecture](/release-0.4.0/developers/tutorials/pinot-architecture.md)
- [Store Data](/release-0.4.0/developers/tutorials/store-data.md)
- [Batch Tables](/release-0.4.0/developers/tutorials/store-data/offline-tables.md)
- [Streaming Tables](/release-0.4.0/developers/tutorials/store-data/realtime-tables.md)
- [Ingest Data](/release-0.4.0/developers/tutorials/pinot-connectors.md): How to turn on the water valve
- [Batch](/release-0.4.0/developers/tutorials/pinot-connectors/batch.md)
- [Creating Pinot Segments](/release-0.4.0/developers/tutorials/pinot-connectors/batch/create-pinot-segments.md)
- [Write your batch](/release-0.4.0/developers/tutorials/pinot-connectors/batch/write-your-batch.md)
- [HDFS](/release-0.4.0/developers/tutorials/pinot-connectors/batch/hdfs.md)
- [AWS S3](/release-0.4.0/developers/tutorials/pinot-connectors/batch/s3.md)
- [Azure Storage](/release-0.4.0/developers/tutorials/pinot-connectors/batch/azure.md)
- [Google Cloud Storage](/release-0.4.0/developers/tutorials/pinot-connectors/batch/gcs.md)
- [Streaming](/release-0.4.0/developers/tutorials/pinot-connectors/streaming.md)
- [Creating Pinot Segments](/release-0.4.0/developers/tutorials/pinot-connectors/streaming/create-pinot-segments.md)
- [Write your stream](/release-0.4.0/developers/tutorials/pinot-connectors/streaming/write-your-stream.md): This page describes how to write your own streams to plug to Pinot. Two modes are available: high and low level.
- [Kafka](/release-0.4.0/developers/tutorials/pinot-connectors/streaming/kafka.md): This page describes how to connect Kafka to Pinot
- [Azure EventHub](/release-0.4.0/developers/tutorials/pinot-connectors/streaming/eventhub.md)
- [Amazon Kinesis](/release-0.4.0/developers/tutorials/pinot-connectors/streaming/kinesis.md)
- [Google Pub/Sub](/release-0.4.0/developers/tutorials/pinot-connectors/streaming/google-pub-sub.md)
- [Design Documents](/release-0.4.0/developers/design-documents.md): Links to all the design docs
