Skip to content

Commit b45faaf

Browse files
committed
merge: resolve conflicts with main branch
2 parents 4ba5ab9 + 5afcf55 commit b45faaf

11 files changed

Lines changed: 1358 additions & 2645 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: CI/CD Pipeline
22

33
on:
44
push:
5-
branches: [ main, develop ]
5+
branches: [ main, develop, dockerized-frontendlol ]
66
pull_request:
7-
branches: [ main, develop ]
7+
branches: [ main, develop, dockerized-frontendlol ]
88

99
jobs:
1010
# Frontend CI/CD

.github/workflows/frontend-docker-ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: Frontend Docker CI
22

33
on:
44
push:
5-
branches: [main, develop]
5+
branches: [main, develop, dockerized-frontendlol]
66
pull_request:
7-
branches: [main, develop]
7+
branches: [main, develop, dockerized-frontendlol]
88

99
jobs:
1010
frontend-docker:
@@ -16,8 +16,8 @@ jobs:
1616
- name: Set up Docker Buildx
1717
uses: docker/setup-buildx-action@v3
1818

19-
- name: Build Docker image
20-
run: docker build -t smartquery-frontend ./frontend
19+
- name: Build Docker image (monorepo root context)
20+
run: docker build -f frontend/Dockerfile -t smartquery-frontend .
2121

2222
- name: Run lint in Docker
2323
run: echo "Skipping lint in Docker due to ESLint config issues"

frontend/.eslintrc.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"extends": "next/core-web-vitals"
3+
}

frontend/Dockerfile

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,24 @@ FROM node:18.20.2-alpine
33

44
WORKDIR /app
55

6-
# Copy frontend package files
6+
# Copy root package.json and lock file for npm workspaces
77
COPY package.json package-lock.json ./
8+
COPY frontend/package.json ./frontend/
89

9-
# Install dependencies (this will install all workspace dependencies)
10+
# Copy the rest of the frontend code
11+
COPY frontend ./frontend
12+
13+
# Install all workspace dependencies at the monorepo root
1014
RUN npm ci
1115

12-
# Copy the frontend code
13-
COPY . ./
16+
# HACK: Force install the native rollup binary for Alpine Linux to fix npm bug
17+
# See: https://github.com/npm/cli/issues/4828
18+
RUN npm install --save-dev --arch=x64 --platform=linux --libc=musl rollup
19+
20+
WORKDIR /app/frontend
1421

15-
# Skip lint for now due to config issues, run test and build
16-
RUN npm run test && npm run build
22+
# Run lint and build (tests run in CI/CD, not during image build)
23+
RUN npm run lint && npm run build
1724

1825
EXPOSE 3000
1926
CMD ["npm", "start"]

frontend/package.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@
88
"start": "next start",
99
"lint": "next lint",
1010
"type-check": "tsc --noEmit",
11-
"test": "vitest run",
12-
"test:watch": "vitest",
13-
"test:integration": "vitest run --config vitest.integration.config.ts"
11+
"test": "vitest",
12+
"test:e2e": "playwright test"
1413
},
1514
"dependencies": {
1615
"@heroicons/react": "^2.2.0",
@@ -22,25 +21,27 @@
2221
"recharts": "^3.0.2",
2322
"reselect": "^5.1.1",
2423
"source-map-js": "^1.2.1",
24+
"styled-jsx": "^5.1.6",
2525
"use-sync-external-store": "^1.5.0",
2626
"zustand": "^5.0.6"
2727
},
2828
"devDependencies": {
29-
29+
"@playwright/test": "^1.49.1",
3030
"@tailwindcss/postcss": "^4",
3131
"@testing-library/jest-dom": "^6.6.3",
3232
"@testing-library/react": "^16.3.0",
3333
"@testing-library/user-event": "^14.6.1",
3434
"@types/node": "^20",
35-
"@types/react": "^19",
36-
"@types/react-dom": "^19",
35+
"@types/react": "^18",
36+
"@types/react-dom": "^18",
37+
"@vitejs/plugin-react": "^4.3.4",
3738
"autoprefixer": "^10.4.16",
3839
"eslint": "^8.57.0",
3940
"eslint-config-next": "14.2.5",
4041
"jsdom": "^26.1.0",
4142
"postcss": "^8.4.32",
4243
"tailwindcss": "^4",
4344
"typescript": "^5",
44-
"vitest": "^3.2.4"
45+
"vitest": "^2.1.8"
4546
}
4647
}

frontend/postcss.config.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const config = {
22
plugins: {
3-
'@tailwindcss/postcss': {},
3+
tailwindcss: {},
44
autoprefixer: {},
55
},
66
};

frontend/src/app/globals.css

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
@import "tailwindcss";
1+
@tailwind base;
2+
@tailwind components;
3+
@tailwind utilities;
24

35
/* Example: Custom global styles */
46
body {

index.html

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>SmartQuery – Coming Soon</title>
7+
<link rel="icon" href="/frontend/public/smartquery-logo.svg">
8+
<link rel="stylesheet" href="style.css">
9+
<meta name="description" content="SmartQuery: Transform your CSV data into insights with natural language queries. Coming soon!">
10+
</head>
11+
<body>
12+
<div class="background-gradient"></div>
13+
<main class="center-container">
14+
<section class="card">
15+
<div class="logo-title">
16+
<img src="/frontend/public/smartquery-logo.svg" alt="SmartQuery Logo" class="logo">
17+
<h1 class="project-name">SmartQuery</h1>
18+
</div>
19+
<h2 class="tagline">Query your data, naturally.</h2>
20+
<p class="subtitle">Upload CSV files and analyze them in plain English. Get instant answers, charts, and insights! All with no SQL or coding required.</p>
21+
<div class="under-construction">
22+
<span class="uc-icon" aria-label="construction">🚧</span>
23+
<span class="uc-text">We're working hard to bring you an amazing experience. SmartQuery will be available soon!</span>
24+
</div>
25+
<div class="features">
26+
<h3>What you'll be able to do:</h3>
27+
<ul>
28+
<li><span class="icon">📤</span> Upload CSVs Instantly</li>
29+
<li><span class="icon">💬</span> Ask Data Questions</li>
30+
<li><span class="icon">🤖</span> AI-Powered Insights</li>
31+
<li><span class="icon">📊</span> Visualize Results</li>
32+
<li><span class="icon">🔒</span> Secure & Private</li>
33+
<li><span class="icon">🧮</span> No SQL Needed</li>
34+
</ul>
35+
</div>
36+
<div class="soc2-note">
37+
<span>SmartQuery will be <strong>SOC2 compliant</strong> to ensure the highest standards of security and privacy for your sensitive data.</span>
38+
</div>
39+
<form class="waitlist-form" id="waitlistForm" autocomplete="off">
40+
<label for="waitlistEmail" class="waitlist-label">Join the waitlist:</label>
41+
<div class="waitlist-row">
42+
<input type="email" id="waitlistEmail" name="email" class="waitlist-input" placeholder="Your email address" required />
43+
<button type="submit" class="waitlist-btn">Notify Me</button>
44+
</div>
45+
<div class="waitlist-success" id="waitlistSuccess" style="display:none;">Thank you! You'll be the first to know when we launch 🚀</div>
46+
</form>
47+
<div class="credits">
48+
<span>Built by </span>
49+
<a href="https://github.com/1300Sarthak" target="_blank" rel="noopener">Sarthak Sethi</a>
50+
<span>&amp;</span>
51+
<a href="https://github.com/tanzilahmed0" target="_blank" rel="noopener">Tanzil Ahmed</a>
52+
</div>
53+
</section>
54+
</main>
55+
<footer class="footer">&copy; 2024 SmartQuery. All rights reserved.</footer>
56+
<script>
57+
document.getElementById('waitlistForm').addEventListener('submit', function(e) {
58+
e.preventDefault();
59+
document.getElementById('waitlistEmail').style.display = 'none';
60+
document.querySelector('.waitlist-btn').style.display = 'none';
61+
document.getElementById('waitlistSuccess').style.display = 'block';
62+
});
63+
</script>
64+
</body>
65+
</html>

0 commit comments

Comments
 (0)