Team Penguins presents Sheet2App, a web app that allows users to create web apps with Google Sheets.
Install Docker and Compose Plugin
Install WSL2, Docker Desktop, and VSCode Extensions
- Rename your
server/s2a_api/migrationsfolder to something else. - Set the OAuth Client ID environment variable in
client/Dockerfile - Set the OAuth Client ID and Secret environment variables in
server/Dockerfile - Store your Google Service Account credentials in
server/sheets/credentials.json - Store your Token in
server/token.json(for testing purposes only)
docker compose up
This starts everything for you. Add:
-dto start in detached mode,--buildto rebuild the images.
Please wait a moment for the following to become available:
- The client at http://localhost:3000,
- The server's admin panel at http://localhost:8000/admin,
- The default username is
adminwith passwordpassword
- The default username is
- The server's health checks at http://localhost:8000/ht.
docker compose down
This stops everything for you. Add:
-vto remove its volumes,--rmi allto remove its images,-t 0to stop immediately.
docker exec -it node npm test
This runs the client's tests in interactive mode. Alternatively, run:
docker exec node npm test -- --watchAll=false
docker exec django pytest
This runs the backend's tests. Add:
-n logicalto run the tests in parallel,-vfor verbose output.
You can start a MySQL shell by executing:
docker exec -it mysql mysql -u root -p Sheet2App
And entering the password default-password.
If you started in detached mode, you can monitor Redis with:
docker exec redis redis-cli monitor
Clear it with:
docker exec redis redis-cli flushall
The cache is not persistent. It will be cleared when you stop the app.
