@@ -9,59 +9,95 @@ Give me a ⭐️ if you like this project.
99# 🌐 Live Demo
1010
1111- App (available Mon-Fri, 9AM - 5PM AEST): https://tilelens.quangtechnologies.com
12- - Feature Demo: https://www.youtube.com/watch?v=YjK48oZDZO8
13- - Setup & Run Walkthrough : https://youtu.be/aLDVqkwxHoc
12+ - YouTube Demo Web : https://www.youtube.com/watch?v=XTw7MDPwpAI
13+ - YouTube Demo Mobile : https://www.youtube.com/watch?v=iKnnbLJBktw
1414
1515# 🚀 TL;DR - How to Run Locally - A Single Container
1616
1717## Pre-check
1818
1919Free up these ports on your system:
20203306 (MySQL), 6379 (Redis), 27017 (MongoDB), 8000 (Backend), 5173 (Frontend), 2181 (Zookeeper), 9092 (Kafka)
21+
2122Make sure Docker is installed
2223
2324## RUN
2425
25- # 🚀 TL;DR - How to Run Locally (On Mac)
26+ # 🚀 How to Run Locally (On Mac)
2627
27281 . Run the script and follow the prompts
2829
2930` ./run.sh `
3031
31- # 🚀 TL;DR - How to Run Cloud Native - AWS
32+ # 🚀 How to Run Locally (On Windows)
33+
34+ 1 . Run the script
35+
36+ ` docker-compose up --build `
37+
38+ 2 . If you want to run the mobile version (you must run the first command before this)
39+
40+ On a new terminal
3241
33- On Window please run with Administrator
42+ ```
43+ cd mobile
44+ npm i
45+ npm run android
46+ ```
47+
48+ # 🚀 How to Deploy - AWS
49+
50+ > ⚠️ ** IMPORTANT:** On ** Windows** , please run the command ** as Administrator** .
51+ > ⚠️ ** IMPORTANT:** You may need to manually change globally unique service names like S3.
3452
35531 . Add frontend .env.production
3654
3755```
3856VITE_ENV=production
3957VITE_API_URL=https://api.tilelens.quangtechnologies.com/api
4058VITE_ASSETS_URL=https://assets.tilelens.quangtechnologies.com/assets
59+ VITE_SOCKET_URL=https://api.tilelens.quangtechnologies.com
4160```
4261
43622 . Add required terraform variables in devops/terraform.tfvars
4463
45643 . Deploy the infrastructure
4665
66+ On Mac\Linux
67+
4768```
4869cd devops
4970./init.sh
5071./deploy.sh
5172```
5273
74+ On Windows
75+
76+ ```
77+ cd devops
78+ init.bat
79+ deploy.bat
80+ ```
81+
53824 . To cleanup the infrastructure
5483
5584```
5685cd devops
5786./cleanup.sh
5887```
5988
89+ OR
90+
91+ ```
92+ cd devops
93+ cleanup.bat
94+ ```
95+
6096# Keywords
6197
62- ReactJS, Redux , TailwindCSS, NodeJS, MongoDB, MySQL, Prisma, Redis, BullMQ, Docker, Terraform, AWS, JWT token, queue FIFO processing
98+ ReactJS, React Native , TailwindCSS, NodeJS, MongoDB, MySQL, Prisma, Redis, BullMQ, Socket.io,Kafka, Docker, Terraform, AWS
6399
64- AWS Route53, Lambda, SQS, S3 + CloudFront, ALB, ECS (EC2), RDS (MySQL), DynamoDB
100+ Route53, Lambda, SQS, S3 + CloudFront, ALB, ECS (EC2), ECS (Fargate), RDS (MySQL), DynamoDB, MSK
65101
66102GitHub Actions, CodePipeline, CodeBuild, CodeDeploy
67103
@@ -75,6 +111,9 @@ GitHub Actions, CodePipeline, CodeBuild, CodeDeploy
75111- Handles image uploads, token auth, and renders only what’s needed
76112- Allow users to clip images by drawing shapes. All math, no library.
77113- Allow users to copy and paste images in an image.
114+ - 3D box view with ThreeJS.
115+ - Map locations with CesiumJS/ResiumJS.
116+ - Mobile version with React Native
78117
79118## Backend
80119
@@ -84,14 +123,16 @@ GitHub Actions, CodePipeline, CodeBuild, CodeDeploy
84123- Pushes image jobs to BullMQ (Redis) or SQS for async tiling
85124- Uses MongoDB or DynamoDB to track processing status + metadata
86125- MySQL or RDS MySQL is just for user accounts
126+ - Socket.io + Kafka allow streaming speak to control
87127
88- ## Worker (Node.js Standalone or Lambda)
128+ ## Worker (Node.js/Python Standalone or Lambda)
89129
90130- Pulls image jobs from Redis or SQS queue
91131- Does the image tiling, clipping and blending
92132- Saves tiles to /assets/tiles/{userId}/{imageId}/ or S3
93133- Shared volume between backend and worker = instant availability
94134- Updates Mongo or DynamoDB with final width/height and marks as processing: false
135+ - OpenAI Whisper base model for transcribe job
95136
96137## Cloud Native AWS
97138
@@ -102,6 +143,8 @@ GitHub Actions, CodePipeline, CodeBuild, CodeDeploy
102143- Backend -> ALB + ECS (EC2)
103144- MySQL -> Amazon RDS (MySQL)
104145- MongoDB -> Amazon DynamoDB
146+ - Kafka -> MSK
147+ - OpenAI Whisper model -> ECS (Fargate)
105148
106149![ Infras] ( https://github.com/Quanghihicoder/TileLens/blob/master/sample_images/infras.png )
107150
0 commit comments