MeetJohn is a web application which lets you process images and identify their contents. This is a full-stack project created with NodeJS, Express, React and Google Cloud's tools Storage, Vision API and Firestore API.
- Application deployed to Google Cloud;
- Ability to view previously processed images and data;
- Ability to delete images and data.
To run this application you must have NodeJS and npm (comes with NodeJS) installed on your machine.
- Clone this repository;
cd
into theclient
andserver
folders and runnpm install
to retrieve dependencies;- Create a new project at https://console.cloud.google.com/projectcreate;
- Instructions are at https://cloud.google.com/vision/docs/setup;
- Download the private key file and move it to the
/server/config/
directory; - Open
/server/config/config.env
with a text editor and change<VISION-CREDENTIALS-FILENAME>
to your private key file name.
- Create a new bucket at https://console.cloud.google.com/storage;
- Uncheck Enforce public access prevention on this bucket in section Choose how to control access to objects;
- After creating the bucket, go to Permissions and click Add;
- In the New members field write
allUsers
and select roleCloud Storage -> Storage Object Viewer
. This will give public access to the files; - Click Save and Allow public access;
- Open
/server/config/config.env
with a text editor and change<STORAGE-BUCKET-NAME>
to your bucket name.
- Create a Native mode database at https://console.cloud.google.com/firestore.
cd
toclient
folder and runnpm start
to start the React app;cd
toserver
folder and runnpm start
to start the Express app;- Go to http://localhost:3000.