linguabot commited on
Commit
341919b
·
verified ·
1 Parent(s): e9a6bab

Upload 7 files

Browse files
Files changed (7) hide show
  1. DEPLOYMENT.md +117 -0
  2. Dockerfile +35 -0
  3. HUGGINGFACE_SETUP.md +68 -0
  4. README.md +85 -5
  5. deploy.sh +58 -0
  6. package-lock.json +345 -0
  7. package.json +27 -0
DEPLOYMENT.md ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Deploying Transcreation Explorer to Hugging Face Spaces
2
+
3
+ ## Prerequisites
4
+
5
+ 1. A Hugging Face account (sign up at https://huggingface.co/)
6
+ 2. Git installed on your local machine
7
+
8
+ ## Deployment Steps
9
+
10
+ ### 1. Create a New Space
11
+
12
+ 1. Go to https://huggingface.co/new-space
13
+ 2. Fill in the details:
14
+ - **Space name**: `transcreation-explorer` (or your preferred name)
15
+ - **License**: MIT
16
+ - **SDK**: Docker
17
+ - **Hardware**: CPU basic (free tier)
18
+ - **Visibility**: Public (or Private if you prefer)
19
+
20
+ ### 2. Clone Your New Space
21
+
22
+ ```bash
23
+ git clone https://huggingface.co/spaces/YOUR_USERNAME/transcreation-explorer
24
+ cd transcreation-explorer
25
+ ```
26
+
27
+ ### 3. Copy Your Project Files
28
+
29
+ Copy all the files from your local Transcreation Explorer project to the cloned space directory:
30
+
31
+ ```bash
32
+ # Copy all files except .git directory
33
+ cp -r /path/to/your/transcreation-explorer/* ./
34
+ cp -r /path/to/your/transcreation-explorer/.gitignore ./
35
+ ```
36
+
37
+ ### 4. Update the README.md
38
+
39
+ Replace `YOUR_USERNAME` in the README.md file with your actual Hugging Face username:
40
+
41
+ ```markdown
42
+ Visit the live application: [Transcreation Explorer on Hugging Face](https://huggingface.co/spaces/YOUR_USERNAME/transcreation-explorer)
43
+ ```
44
+
45
+ ### 5. Commit and Push
46
+
47
+ ```bash
48
+ git add .
49
+ git commit -m "Initial deployment of Transcreation Explorer"
50
+ git push origin main
51
+ ```
52
+
53
+ ### 6. Wait for Build
54
+
55
+ 1. Go to your space page: `https://huggingface.co/spaces/YOUR_USERNAME/transcreation-explorer`
56
+ 2. Hugging Face will automatically start building your Docker container
57
+ 3. This may take 5-10 minutes for the first build
58
+ 4. You can monitor the build logs in the "Logs" tab
59
+
60
+ ### 7. Access Your Application
61
+
62
+ Once the build is complete, your application will be available at:
63
+ `https://YOUR_USERNAME-transcreation-explorer.hf.space`
64
+
65
+ ## Configuration Notes
66
+
67
+ - The application is configured to run on port 7860 (Hugging Face requirement)
68
+ - The server will serve the built React app in production mode
69
+ - All examples are stored in memory and will reset when the space restarts
70
+ - For persistent data, consider adding a database integration
71
+
72
+ ## Updating Your Deployment
73
+
74
+ To update your deployed application:
75
+
76
+ 1. Make changes to your local files
77
+ 2. Commit and push to the space repository:
78
+ ```bash
79
+ git add .
80
+ git commit -m "Update: [description of changes]"
81
+ git push origin main
82
+ ```
83
+ 3. Hugging Face will automatically rebuild and redeploy
84
+
85
+ ## Troubleshooting
86
+
87
+ ### Build Fails
88
+ - Check the "Logs" tab for error messages
89
+ - Ensure all dependencies are correctly specified in package.json files
90
+ - Verify the Dockerfile syntax
91
+
92
+ ### Application Won't Start
93
+ - Check that the PORT environment variable is set to 7860
94
+ - Ensure the server is configured to serve static files in production
95
+ - Verify all file paths are correct
96
+
97
+ ### Performance Issues
98
+ - Consider upgrading to a better hardware tier if needed
99
+ - Optimize the Docker image size by removing unnecessary files
100
+ - Use .dockerignore to exclude large files/directories
101
+
102
+ ## Additional Features
103
+
104
+ You can enhance your deployment by:
105
+
106
+ 1. Adding environment variables in the Space settings
107
+ 2. Connecting a persistent database (MongoDB, PostgreSQL)
108
+ 3. Setting up automated backups
109
+ 4. Adding authentication for the management features
110
+ 5. Implementing rate limiting for API endpoints
111
+
112
+ ## Support
113
+
114
+ If you encounter issues:
115
+ 1. Check Hugging Face Spaces documentation
116
+ 2. Visit the Hugging Face community forums
117
+ 3. Review the application logs for specific error messages
Dockerfile ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Use Node.js official image
2
+ FROM node:18-alpine
3
+
4
+ # Set working directory
5
+ WORKDIR /app
6
+
7
+ # Copy package files first for better caching
8
+ COPY package*.json ./
9
+ COPY server/package*.json ./server/
10
+ COPY client/package*.json ./client/
11
+
12
+ # Install dependencies
13
+ RUN npm install
14
+ RUN cd server && npm install
15
+ RUN cd client && npm install
16
+
17
+ # Copy source code
18
+ COPY . .
19
+
20
+ # Build the React application
21
+ RUN cd client && npm run build
22
+
23
+ # Create a startup script
24
+ RUN echo '#!/bin/sh\ncd /app && npm run start:prod' > /app/start.sh
25
+ RUN chmod +x /app/start.sh
26
+
27
+ # Expose port 7860 (required by Hugging Face)
28
+ EXPOSE 7860
29
+
30
+ # Set environment variables
31
+ ENV NODE_ENV=production
32
+ ENV PORT=7860
33
+
34
+ # Start the application
35
+ CMD ["/app/start.sh"]
HUGGINGFACE_SETUP.md ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 🚀 Quick Setup Guide for Hugging Face Spaces
2
+
3
+ ## What's Ready for Deployment
4
+
5
+ Your Transcreation Explorer is now fully configured for deployment to Hugging Face Spaces! Here's what has been prepared:
6
+
7
+ ### ✅ Files Added/Updated:
8
+ - **`Dockerfile`** - Containerizes your app for Hugging Face
9
+ - **`README.md`** - Updated with Hugging Face metadata and documentation
10
+ - **`.dockerignore`** - Optimizes build by excluding unnecessary files
11
+ - **`.gitignore`** - Prevents sensitive files from being committed
12
+ - **`DEPLOYMENT.md`** - Detailed deployment instructions
13
+ - **`deploy.sh`** - Automated deployment script
14
+ - **Server configuration** - Updated to serve React build in production
15
+
16
+ ## 🎯 Quick Deployment (2 options)
17
+
18
+ ### Option 1: Automated Script (Recommended)
19
+ ```bash
20
+ # Run the deployment script with your Hugging Face username
21
+ ./deploy.sh YOUR_USERNAME
22
+ ```
23
+
24
+ ### Option 2: Manual Steps
25
+ 1. Go to https://huggingface.co/new-space
26
+ 2. Create a new space:
27
+ - Name: `transcreation-explorer`
28
+ - SDK: Docker
29
+ - Hardware: CPU basic
30
+ 3. Clone the space: `git clone https://huggingface.co/spaces/YOUR_USERNAME/transcreation-explorer`
31
+ 4. Copy your project files to the cloned directory
32
+ 5. Update README.md with your username
33
+ 6. Commit and push: `git add . && git commit -m "Deploy" && git push origin main`
34
+
35
+ ## 🌐 After Deployment
36
+
37
+ - **Your app will be live at**: `https://YOUR_USERNAME-transcreation-explorer.hf.space`
38
+ - **Build time**: 5-10 minutes for first deployment
39
+ - **Monitor progress**: Check the "Logs" tab in your space
40
+
41
+ ## 🔧 Key Features Deployed
42
+
43
+ - ✅ Full React frontend with routing
44
+ - ✅ Express backend API
45
+ - ✅ Example management system
46
+ - ✅ Search and browse functionality
47
+ - ✅ Bidirectional translation support (EN↔CN)
48
+ - ✅ Category management with dropdown
49
+ - ✅ Responsive design
50
+ - ✅ Production-optimized build
51
+
52
+ ## 📊 What to Expect
53
+
54
+ - **Performance**: Fast loading with optimized React build
55
+ - **Storage**: Examples stored in memory (resets on restart)
56
+ - **Scaling**: Suitable for moderate traffic on free tier
57
+ - **Updates**: Push code changes to automatically redeploy
58
+
59
+ ## 🎉 You're All Set!
60
+
61
+ Your Transcreation Explorer is ready to share with the world. Users can:
62
+ - Browse transcreation examples
63
+ - Search by brand, category, or content
64
+ - Discover random examples
65
+ - Add/edit examples (if enabled)
66
+ - Learn about Chinese marketing adaptations
67
+
68
+ **Happy transcreating!** 🌐
README.md CHANGED
@@ -1,12 +1,92 @@
1
  ---
2
  title: Transcreation Explorer
3
- emoji: 🐠
4
- colorFrom: green
5
- colorTo: green
6
  sdk: docker
7
  pinned: false
8
  license: mit
9
- short_description: Explore English-Chinese transcreation examples
10
  ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  title: Transcreation Explorer
3
+ emoji: 🌐
4
+ colorFrom: blue
5
+ colorTo: purple
6
  sdk: docker
7
  pinned: false
8
  license: mit
 
9
  ---
10
 
11
+ # Transcreation Explorer 🌐
12
+
13
+ A comprehensive tool for exploring and managing English-Chinese transcreation examples in marketing and branding.
14
+
15
+ ## 🎯 What is Transcreation?
16
+
17
+ Transcreation goes beyond translation - it's the creative adaptation of content from one language to another while preserving the original intent, style, tone, and emotional impact. This tool showcases real-world examples of how brands adapt their messaging for Chinese markets.
18
+
19
+ ## ✨ Features
20
+
21
+ - **Browse Examples**: Explore a curated collection of transcreation examples
22
+ - **Random Discovery**: Get inspired with random examples
23
+ - **Smart Search**: Find examples by brand, category, or content
24
+ - **Manage Collection**: Add, edit, and organize examples
25
+ - **Bidirectional Support**: Handle both English-to-Chinese and Chinese-to-English adaptations
26
+ - **Category Management**: Organize examples with smart category dropdown
27
+ - **Status Tracking**: Track verification status of examples
28
+
29
+ ## 🚀 Live Demo
30
+
31
+ Visit the live application: [Transcreation Explorer on Hugging Face](https://huggingface.co/spaces/YOUR_USERNAME/transcreation-explorer)
32
+
33
+ ## 🛠️ Technology Stack
34
+
35
+ - **Frontend**: React.js with React Router
36
+ - **Backend**: Node.js with Express
37
+ - **Styling**: Custom CSS with modern animations
38
+ - **Icons**: Lucide React
39
+ - **Deployment**: Docker on Hugging Face Spaces
40
+
41
+ ## 📊 Example Categories
42
+
43
+ - Technology
44
+ - Food & Beverage
45
+ - Beauty & Cosmetics
46
+ - Automotive
47
+ - Fashion & Luxury
48
+ - Entertainment
49
+ - Finance & Banking
50
+ - Travel & Tourism
51
+ - Home & Lifestyle
52
+ - Retail & E-commerce
53
+
54
+ ## 🎮 How to Use
55
+
56
+ 1. **Browse**: Explore all examples in the Browse section
57
+ 2. **Random**: Click "Show me a random example" for inspiration
58
+ 3. **Search**: Use the search functionality to find specific examples
59
+ 4. **Manage**: Add new examples or edit existing ones (if you have access)
60
+
61
+ ## 🔧 Local Development
62
+
63
+ ```bash
64
+ # Clone the repository
65
+ git clone [your-repo-url]
66
+ cd transcreation-explorer
67
+
68
+ # Install dependencies
69
+ npm install
70
+
71
+ # Start development server
72
+ npm run dev
73
+ ```
74
+
75
+ The application will run on:
76
+ - Frontend: http://localhost:3000
77
+ - Backend: http://localhost:3001
78
+
79
+ ## 📝 Contributing
80
+
81
+ 1. Fork the repository
82
+ 2. Create a feature branch
83
+ 3. Add your transcreation examples or improvements
84
+ 4. Submit a pull request
85
+
86
+ ## 📄 License
87
+
88
+ This project is licensed under the MIT License.
89
+
90
+ ## 🌟 Acknowledgments
91
+
92
+ Thanks to all contributors who have helped build this collection of transcreation examples!
deploy.sh ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ # Transcreation Explorer - Hugging Face Deployment Script
4
+
5
+ echo "🚀 Transcreation Explorer Deployment Script"
6
+ echo "=========================================="
7
+
8
+ # Check if username is provided
9
+ if [ -z "$1" ]; then
10
+ echo "❌ Error: Please provide your Hugging Face username"
11
+ echo "Usage: ./deploy.sh YOUR_USERNAME"
12
+ exit 1
13
+ fi
14
+
15
+ USERNAME=$1
16
+ SPACE_NAME="transcreation-explorer"
17
+ SPACE_URL="https://huggingface.co/spaces/$USERNAME/$SPACE_NAME"
18
+
19
+ echo "👤 Username: $USERNAME"
20
+ echo "📦 Space: $SPACE_NAME"
21
+ echo "🌐 URL: $SPACE_URL"
22
+ echo ""
23
+
24
+ # Update README.md with correct username
25
+ echo "📝 Updating README.md with your username..."
26
+ sed -i.bak "s/YOUR_USERNAME/$USERNAME/g" README.md
27
+ rm README.md.bak 2>/dev/null || true
28
+
29
+ echo "✅ README.md updated"
30
+
31
+ # Check if we're in a git repository
32
+ if [ ! -d ".git" ]; then
33
+ echo "📂 Initializing git repository..."
34
+ git init
35
+ git remote add origin https://huggingface.co/spaces/$USERNAME/$SPACE_NAME
36
+ else
37
+ echo "📂 Git repository detected"
38
+ fi
39
+
40
+ # Add all files
41
+ echo "📁 Adding files to git..."
42
+ git add .
43
+
44
+ # Commit changes
45
+ echo "💾 Committing changes..."
46
+ git commit -m "Deploy Transcreation Explorer to Hugging Face Spaces"
47
+
48
+ # Push to Hugging Face
49
+ echo "🚀 Pushing to Hugging Face Spaces..."
50
+ git push origin main
51
+
52
+ echo ""
53
+ echo "✅ Deployment initiated!"
54
+ echo "🔗 Your space will be available at: $SPACE_URL"
55
+ echo "⏳ Build typically takes 5-10 minutes"
56
+ echo "📊 Monitor build progress in the 'Logs' tab"
57
+ echo ""
58
+ echo "🎉 Happy transcreating!"
package-lock.json ADDED
@@ -0,0 +1,345 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "transcreation-explorer",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "transcreation-explorer",
9
+ "version": "1.0.0",
10
+ "license": "MIT",
11
+ "dependencies": {
12
+ "concurrently": "^8.2.2"
13
+ },
14
+ "devDependencies": {}
15
+ },
16
+ "node_modules/@babel/runtime": {
17
+ "version": "7.27.6",
18
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz",
19
+ "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==",
20
+ "license": "MIT",
21
+ "engines": {
22
+ "node": ">=6.9.0"
23
+ }
24
+ },
25
+ "node_modules/ansi-regex": {
26
+ "version": "5.0.1",
27
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
28
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
29
+ "license": "MIT",
30
+ "engines": {
31
+ "node": ">=8"
32
+ }
33
+ },
34
+ "node_modules/ansi-styles": {
35
+ "version": "4.3.0",
36
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
37
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
38
+ "license": "MIT",
39
+ "dependencies": {
40
+ "color-convert": "^2.0.1"
41
+ },
42
+ "engines": {
43
+ "node": ">=8"
44
+ },
45
+ "funding": {
46
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
47
+ }
48
+ },
49
+ "node_modules/chalk": {
50
+ "version": "4.1.2",
51
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
52
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
53
+ "license": "MIT",
54
+ "dependencies": {
55
+ "ansi-styles": "^4.1.0",
56
+ "supports-color": "^7.1.0"
57
+ },
58
+ "engines": {
59
+ "node": ">=10"
60
+ },
61
+ "funding": {
62
+ "url": "https://github.com/chalk/chalk?sponsor=1"
63
+ }
64
+ },
65
+ "node_modules/chalk/node_modules/supports-color": {
66
+ "version": "7.2.0",
67
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
68
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
69
+ "license": "MIT",
70
+ "dependencies": {
71
+ "has-flag": "^4.0.0"
72
+ },
73
+ "engines": {
74
+ "node": ">=8"
75
+ }
76
+ },
77
+ "node_modules/cliui": {
78
+ "version": "8.0.1",
79
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
80
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
81
+ "license": "ISC",
82
+ "dependencies": {
83
+ "string-width": "^4.2.0",
84
+ "strip-ansi": "^6.0.1",
85
+ "wrap-ansi": "^7.0.0"
86
+ },
87
+ "engines": {
88
+ "node": ">=12"
89
+ }
90
+ },
91
+ "node_modules/color-convert": {
92
+ "version": "2.0.1",
93
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
94
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
95
+ "license": "MIT",
96
+ "dependencies": {
97
+ "color-name": "~1.1.4"
98
+ },
99
+ "engines": {
100
+ "node": ">=7.0.0"
101
+ }
102
+ },
103
+ "node_modules/color-name": {
104
+ "version": "1.1.4",
105
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
106
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
107
+ "license": "MIT"
108
+ },
109
+ "node_modules/concurrently": {
110
+ "version": "8.2.2",
111
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz",
112
+ "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==",
113
+ "license": "MIT",
114
+ "dependencies": {
115
+ "chalk": "^4.1.2",
116
+ "date-fns": "^2.30.0",
117
+ "lodash": "^4.17.21",
118
+ "rxjs": "^7.8.1",
119
+ "shell-quote": "^1.8.1",
120
+ "spawn-command": "0.0.2",
121
+ "supports-color": "^8.1.1",
122
+ "tree-kill": "^1.2.2",
123
+ "yargs": "^17.7.2"
124
+ },
125
+ "bin": {
126
+ "conc": "dist/bin/concurrently.js",
127
+ "concurrently": "dist/bin/concurrently.js"
128
+ },
129
+ "engines": {
130
+ "node": "^14.13.0 || >=16.0.0"
131
+ },
132
+ "funding": {
133
+ "url": "https://github.com/open-cli-tools/concurrently?sponsor=1"
134
+ }
135
+ },
136
+ "node_modules/date-fns": {
137
+ "version": "2.30.0",
138
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz",
139
+ "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==",
140
+ "license": "MIT",
141
+ "dependencies": {
142
+ "@babel/runtime": "^7.21.0"
143
+ },
144
+ "engines": {
145
+ "node": ">=0.11"
146
+ },
147
+ "funding": {
148
+ "type": "opencollective",
149
+ "url": "https://opencollective.com/date-fns"
150
+ }
151
+ },
152
+ "node_modules/emoji-regex": {
153
+ "version": "8.0.0",
154
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
155
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
156
+ "license": "MIT"
157
+ },
158
+ "node_modules/escalade": {
159
+ "version": "3.2.0",
160
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
161
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
162
+ "license": "MIT",
163
+ "engines": {
164
+ "node": ">=6"
165
+ }
166
+ },
167
+ "node_modules/get-caller-file": {
168
+ "version": "2.0.5",
169
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
170
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
171
+ "license": "ISC",
172
+ "engines": {
173
+ "node": "6.* || 8.* || >= 10.*"
174
+ }
175
+ },
176
+ "node_modules/has-flag": {
177
+ "version": "4.0.0",
178
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
179
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
180
+ "license": "MIT",
181
+ "engines": {
182
+ "node": ">=8"
183
+ }
184
+ },
185
+ "node_modules/is-fullwidth-code-point": {
186
+ "version": "3.0.0",
187
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
188
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
189
+ "license": "MIT",
190
+ "engines": {
191
+ "node": ">=8"
192
+ }
193
+ },
194
+ "node_modules/lodash": {
195
+ "version": "4.17.21",
196
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
197
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
198
+ "license": "MIT"
199
+ },
200
+ "node_modules/require-directory": {
201
+ "version": "2.1.1",
202
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
203
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
204
+ "license": "MIT",
205
+ "engines": {
206
+ "node": ">=0.10.0"
207
+ }
208
+ },
209
+ "node_modules/rxjs": {
210
+ "version": "7.8.2",
211
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
212
+ "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
213
+ "license": "Apache-2.0",
214
+ "dependencies": {
215
+ "tslib": "^2.1.0"
216
+ }
217
+ },
218
+ "node_modules/shell-quote": {
219
+ "version": "1.8.3",
220
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
221
+ "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
222
+ "license": "MIT",
223
+ "engines": {
224
+ "node": ">= 0.4"
225
+ },
226
+ "funding": {
227
+ "url": "https://github.com/sponsors/ljharb"
228
+ }
229
+ },
230
+ "node_modules/spawn-command": {
231
+ "version": "0.0.2",
232
+ "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz",
233
+ "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ=="
234
+ },
235
+ "node_modules/string-width": {
236
+ "version": "4.2.3",
237
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
238
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
239
+ "license": "MIT",
240
+ "dependencies": {
241
+ "emoji-regex": "^8.0.0",
242
+ "is-fullwidth-code-point": "^3.0.0",
243
+ "strip-ansi": "^6.0.1"
244
+ },
245
+ "engines": {
246
+ "node": ">=8"
247
+ }
248
+ },
249
+ "node_modules/strip-ansi": {
250
+ "version": "6.0.1",
251
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
252
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
253
+ "license": "MIT",
254
+ "dependencies": {
255
+ "ansi-regex": "^5.0.1"
256
+ },
257
+ "engines": {
258
+ "node": ">=8"
259
+ }
260
+ },
261
+ "node_modules/supports-color": {
262
+ "version": "8.1.1",
263
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
264
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
265
+ "license": "MIT",
266
+ "dependencies": {
267
+ "has-flag": "^4.0.0"
268
+ },
269
+ "engines": {
270
+ "node": ">=10"
271
+ },
272
+ "funding": {
273
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
274
+ }
275
+ },
276
+ "node_modules/tree-kill": {
277
+ "version": "1.2.2",
278
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
279
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
280
+ "license": "MIT",
281
+ "bin": {
282
+ "tree-kill": "cli.js"
283
+ }
284
+ },
285
+ "node_modules/tslib": {
286
+ "version": "2.8.1",
287
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
288
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
289
+ "license": "0BSD"
290
+ },
291
+ "node_modules/wrap-ansi": {
292
+ "version": "7.0.0",
293
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
294
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
295
+ "license": "MIT",
296
+ "dependencies": {
297
+ "ansi-styles": "^4.0.0",
298
+ "string-width": "^4.1.0",
299
+ "strip-ansi": "^6.0.0"
300
+ },
301
+ "engines": {
302
+ "node": ">=10"
303
+ },
304
+ "funding": {
305
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
306
+ }
307
+ },
308
+ "node_modules/y18n": {
309
+ "version": "5.0.8",
310
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
311
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
312
+ "license": "ISC",
313
+ "engines": {
314
+ "node": ">=10"
315
+ }
316
+ },
317
+ "node_modules/yargs": {
318
+ "version": "17.7.2",
319
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
320
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
321
+ "license": "MIT",
322
+ "dependencies": {
323
+ "cliui": "^8.0.1",
324
+ "escalade": "^3.1.1",
325
+ "get-caller-file": "^2.0.5",
326
+ "require-directory": "^2.1.1",
327
+ "string-width": "^4.2.3",
328
+ "y18n": "^5.0.5",
329
+ "yargs-parser": "^21.1.1"
330
+ },
331
+ "engines": {
332
+ "node": ">=12"
333
+ }
334
+ },
335
+ "node_modules/yargs-parser": {
336
+ "version": "21.1.1",
337
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
338
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
339
+ "license": "ISC",
340
+ "engines": {
341
+ "node": ">=12"
342
+ }
343
+ }
344
+ }
345
+ }
package.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "transcreation-explorer",
3
+ "version": "1.0.0",
4
+ "description": "A tool for exploring English-Chinese transcreation examples",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "start": "npm run dev",
8
+ "start:prod": "cd server && node index.js",
9
+ "dev": "concurrently \"npm run server\" \"npm run client\"",
10
+ "server": "cd server && node index.js",
11
+ "client": "cd client && npm start",
12
+ "build": "cd client && npm run build",
13
+ "test": "echo \"Error: no test specified\" && exit 1"
14
+ },
15
+ "keywords": [
16
+ "transcreation",
17
+ "translation",
18
+ "chinese",
19
+ "english",
20
+ "examples"
21
+ ],
22
+ "author": "",
23
+ "license": "MIT",
24
+ "dependencies": {
25
+ "concurrently": "^8.2.2"
26
+ }
27
+ }