Our project is an attempt to improve WFH experience for googlers who got used to notesboards they have in offices. Our app is a virtual notesboard where you can leave notes and invite other people to collaborate.
To deploy the app, run ./deploy.sh
To run frontend locally, execute
cd sticknotes-frontend
ng serve
To run backend locally, run datastore emulator firstly using
gcloud beta emulators datastore start --host-port=localhost:8484 --no-store-on-disk
.
Next execute
cd sticknotesbackend
./run.sh
To run tests, launch datastore emulator with gcloud beta emulators datastore start --host-port=localhost:8484 --no-store-on-disk
.
Next execute
cd sticknotesbackend
mvn test
Backend part is written in Java 8, and needs Java 8 JDK for running. Make sure that env variable's JAVA_HOME value is a path to the jdk,
and java --version
outputs something like 1.8.___
Frontend requires angular cli to be installed. To install it, you need to install npm
package manager. It comes with Node.js, so you can install Node.js, and npm
must be installed automatically link. To check the installation, run npm -v
.
Next, install angular using this command npm install -g @angular/cli
, the installation command is taken from here.
App was designed for Google App Engine Standard Environment. This is very important detail, app will not work in any other GAE environment or anywhere else, because it uses Google API SDKs provided by App Engine. When deploying app, make sure gc project has enabled:
- Translation API
- Memcache (not Memcached), though it was enabled by default, it may change over time, so it is a good idea to double check that it is active.
- Cloud Storage API. In Cloud Storage, create a bucket, choose whatever location type you wish (we chose same region as where app was deployed), select "standard" for storage class, select "uniform" for access-control. When bucket is created, make sure read access is granted to everyone who needs access to app (we used @google.com). Next, go to appengine-web.xml and update environment variables there. Put GC project id to
PROJECT_ID
and name of the new bucket to theGCS_BUCKET_NAME
.