Appsmith's client (UI/frontend) uses the ReactJS library and Typescript. The application also uses libraries like react-redux and redux-saga for workflows. We use VS Code Editor as our primary editor
On your development machine, please ensure that:
- You have
docker
installed in your system. If not, please visit: https://docs.docker.com/get-docker/ - You have
mkcert
installed. Please visit: https://github.com/FiloSottile/mkcert#installation for details. Formkcert
to work with firefox you may require thenss
utility to be installed. Details are in the link above. - You have
envsubst
installed. usebrew install gettext
on macOS. Linux machines usually have this installed. - You have cloned the repo in your local machine.
- Run the following command from the project root.
cd app/client/docker && mkcert -install && mkcert "*.appsmith.com" && cd ..
This command will create 2 files in the docker/
directory:
_wildcard.appsmith.com-key.pem
_wildcard.appsmith.com.pem
- Add the domain
dev.appsmith.com
to/etc/hosts
.
echo "127.0.0.1 dev.appsmith.com" | sudo tee -a /etc/hosts
- Run the script
start-https.sh
in order to start the nginx container that will proxy the frontend code on your local system.
cd app/client
./start-https.sh
- Run
yarn
- Run
yarn start
🎉 Your appsmith client is now running on https://dev.appsmith.com.
This URL must be opened with https and not have the port 3000 in it
Your client is pointing to the cloud staging server https://release-api.appsmith.com
- Change the API endpoint in the Nginx configuration files (
app/client/docker/templates/nginx-linux.conf.template
orapp/client/docker/templates/nginx-mac.conf.template
). - Run
start-https.sh
script again. - Run
REACT_APP_ENVIRONMENT=DEVELOPMENT HOST=dev.appsmith.com craco start
- Make the values in
nginx-mac.conf.template
empty. None of those properties are required. proxy_pass
value must be changed fromhttp://host.docker.internal:3000
tohttp://localhost:3000
- Generate the certificates manually via
mkcert
. Check the command instart-https-server.sh
file. - Change the value of the certificate location for keys
ssl_certificate
&ssl_certificate_key
to the place where these certificates were generated.