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/migrations
folder 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:
-d
to start in detached mode,--build
to 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
admin
with passwordpassword
- The default username is
- The server's health checks at http://localhost:8000/ht.
docker compose down
This stops everything for you. Add:
-v
to remove its volumes,--rmi all
to remove its images,-t 0
to 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 logical
to run the tests in parallel,-v
for 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.