WhereIsTheGoogleCar is a monorepo project that tracks and logs Street View Vehicle Sightings posted from the VirtualStreets Discord server. This project has been made as an attempt to fulfill the legacy of whereisthegooglecar.com, with more accurate data.
This monorepo consists of the following components.
site
: Folder containing the website contents.bot
: Folder containing the code for the Discord Bot itself.compose.yaml
: Docker Compose for local development.
To access the website contents, navigate to the site
folder. To access the bot, navigate to the bot
folder.
- Initiate an AWS S3 Bucket (& CloudFront if needed), alongside IAM credentials with
s3:PutObject
,s3:GetObject
&s3:DeleteObject
permissions; passed over to the S3 Bucket Policy. - Rename
.env.example
to.env
, and adjust to your settings. - Initiate
docker-compose up -d
. - Head over to the site folder.
- Pass over the environment variables from root to site's
.env
. - Run
npm run dev
.
Note: We are not setting up a development Docker service for the site itself
here, as it is very slow (especially if you have low memory);
Prisma's client will not function properly if your host operating system is not Linux;
and you'd be better off using npm run dev
locally. Trust me, you don't want to get into that mess unless you know what you're doing.
- Initiate an AWS S3 Bucket (& CloudFront if needed), alongside IAM credentials with
s3:PutObject
,s3:GetObject
&s3:DeleteObject
permissions; passed over to the S3 Bucket Policy. - In Vercel (or any other Redis serverless provider such as Upstash), initialize Redis
- Configure the environment variables asked in Railway, then proceed to deploy
- You may wanna deploy twice, as the template has the PostgreSQL variables pre-written, but they may not work with once Railway initializes the database.
- Configure the environment variables asked in Vercel, then proceed to deploy.
- A bunch of ESLint & type errors on the site monorepo
- Image compression is somewhat messy
/remove_channel
stopped working for some reason - issue of channel_id having a relation with the other spottings table- JSON is not serialized correctly
- RegEx month & source doesn't work as intended
- Improve bot logging
- Better specific spotting page
- Source embed by left; location by right
- Refactor CSS
- Assign S3 Domain
- Improve Image Preview (Width and Height from Backend)
If you really love this project, consider supporting the maintenance costs. Your contribution will help cover the costs for running this project to stay online!
You can do so by donating on Ko-fi or sponsoring on GitHub. Every bit of support is greatly appreciated!
Contributions are welcome! If you have any ideas for improvement, bug reports, or feature requests, feel free to create an issue or submit a pull request.
This project is licensed under the MIT License.