# Module 1: Build a legislation reader

In this module we'll cover the following:

* Setting up the basic Django app
* Database models
* Working with the Laws.Africa Content API
* Listing works
* Displaying the content of a document
* Basic interactivity

We'll be following the [Django tutorial](https://docs.djangoproject.com/en/3.2/intro/tutorial01/) for setting up an app, but we'll build a legislation reader.

At the end of the module, you should have a working legislation reader app with a legislation listing page and detail pages for each piece of legislation.

We will use:

* Django – for storing and displaying the data
* Python – for extracting data from the API
* Law widgets – a library for styling and working with interactive elements on the page

The complete working code is available in GitHub at <https://github.com/laws-africa/legislation-reader>.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.laws.africa/tutorial/module-1-build-a-legislation-reader.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
