This starter full stack project has been generated using AlgoKit. See below for default getting started instructions.
- Clone this repository locally.
- Install pre-requisites:
- Make sure to have Docker installed and running on your machine.
- Install
AlgoKit
- Link: The minimum required version is1.3.0
. Ensure you can executealgokit --version
and get1.3.0
or later. - Bootstrap your local environment; run
algokit bootstrap all
within this folder, which will install Poetry, runnpm install
andpoetry install
in the root directory to install NPM and Python packages respectively, set up a.venv
folder with a Python virtual environment and also install all Python dependencies.- For TypeScript projects, it will also run
npm install
to install NPM packages. - For all projects, it will copy
.env.template
to.env
.
- For TypeScript projects, it will also run
- Run
algokit localnet start
to start a local Algorand network in Docker. If you are using VS Code launch configurations provided by the template, this will be done automatically for you.
- Open the project and start debugging / developing on:
- If you update to the latest source code and there are new dependencies, you will need to run
algokit bootstrap all
again. - Follow step 3 above.
This project makes use of Python and React to build Algorand smart contracts and to provide a base project configuration to develop frontends for your Algorand dApps and interactions with smart contracts. The following tools are in use:
- Algorand, AlgoKit, and AlgoKit Utils
- Python dependencies including Poetry, Black, Ruff or Flake8, mypy, pytest, and pip-audit
- React and related dependencies including AlgoKit Utils, Tailwind CSS, daisyUI, use-wallet, npm, jest, playwright, Prettier, ESLint, and Github Actions workflows for build validation
Refer to the backend folder for overview of working with smart contracts, frontend for overview of the React project and the frontend/contracts folder for README on adding new smart contracts from backend as application clients on your frontend. The templates provided in these folders will help you get started.
When you compile and generate smart contract artifacts, your frontend component will automatically generate typescript application clients from smart contract artifacts and move them to frontend/src/contracts
folder, see generate:app-clients
in package.json. Afterwards, you are free to import and use them in your frontend application.
The frontend starter also provides an example of interactions with your Client in AppCalls.tsx
component by default.
You can take this project and customize it to build your own decentralized applications on Algorand. Make sure to understand how to use AlgoKit and how to write smart contracts for Algorand before you start.