Skip to content

Commit a955790

Browse files
authored
Merge pull request #5 from angelonels/feat/home-page
Feat/home page
2 parents 392ae81 + ab7bf33 commit a955790

5 files changed

Lines changed: 142 additions & 5 deletions

File tree

client/app/globals.css

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
@tailwind base;
2+
@tailwind components;
3+
@tailwind utilities;
4+
5+
body {
6+
margin: 0;
7+
padding: 0;
8+
}
9+

client/app/layout.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import './globals.css'
2+
13
export default function RootLayout({ children }: { children: React.ReactNode }) {
24
return (
35
<html lang="en">

client/app/page.tsx

Lines changed: 96 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,100 @@
1+
import Link from 'next/link'
2+
13
export default function HomePage() {
24
return (
3-
<main className="p-6">
4-
<h1>Impactify</h1>
5-
</main>
6-
);
7-
}
5+
<div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100">
6+
{/* Navigation */}
7+
<nav className="bg-white/80 backdrop-blur-sm shadow-sm sticky top-0 z-50">
8+
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
9+
<div className="flex justify-between items-center h-16">
10+
<div className="text-2xl font-bold text-indigo-600">Impactify</div>
11+
<div className="flex gap-4">
12+
<Link href="/login" className="px-4 py-2 text-gray-700 hover:text-indigo-600 transition">
13+
Login
14+
</Link>
15+
<Link href="/signup" className="px-4 py-2 bg-indigo-600 text-white rounded-lg hover:bg-indigo-700 transition">
16+
Sign Up
17+
</Link>
18+
</div>
19+
</div>
20+
</div>
21+
</nav>
22+
23+
{/* Hero Section */}
24+
<main className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20">
25+
<div className="text-center mb-16">
26+
<h1 className="text-5xl md:text-6xl font-bold text-gray-900 mb-6">
27+
Your AI-Powered
28+
<span className="text-indigo-600"> Data Analyst</span>
29+
</h1>
30+
<p className="text-xl text-gray-600 mb-8 max-w-2xl mx-auto">
31+
Transform raw data into actionable insights. Ask questions in plain English,
32+
get instant visualizations. No SQL knowledge required.
33+
</p>
34+
<div className="flex gap-4 justify-center">
35+
<Link
36+
href="/signup"
37+
className="px-8 py-3 bg-indigo-600 text-white rounded-lg text-lg font-semibold hover:bg-indigo-700 transition shadow-lg"
38+
>
39+
Get Started
40+
</Link>
41+
<Link
42+
href="/upload"
43+
className="px-8 py-3 bg-white text-indigo-600 rounded-lg text-lg font-semibold hover:bg-gray-50 transition shadow-lg border-2 border-indigo-600"
44+
>
45+
Upload Dataset
46+
</Link>
47+
</div>
48+
</div>
49+
50+
{/* Features Section */}
51+
<div className="grid md:grid-cols-3 gap-8 mt-20">
52+
<div className="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition">
53+
<div className="text-4xl mb-4">📊</div>
54+
<h3 className="text-xl font-semibold mb-2 text-gray-900">Automated Profiling</h3>
55+
<p className="text-gray-600">
56+
Get instant insights about your data - missing values, data types, and inconsistencies detected automatically.
57+
</p>
58+
</div>
859

60+
<div className="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition">
61+
<div className="text-4xl mb-4">🧹</div>
62+
<h3 className="text-xl font-semibold mb-2 text-gray-900">Interactive Cleaning</h3>
63+
<p className="text-gray-600">
64+
Fix data issues with simple, intuitive tools. Fill missing values, merge duplicates, and correct types.
65+
</p>
66+
</div>
967

68+
<div className="bg-white p-6 rounded-xl shadow-md hover:shadow-lg transition">
69+
<div className="text-4xl mb-4">🤖</div>
70+
<h3 className="text-xl font-semibold mb-2 text-gray-900">AI Query Engine</h3>
71+
<p className="text-gray-600">
72+
Ask questions in natural language. Our AI converts them to SQL and generates beautiful visualizations.
73+
</p>
74+
</div>
75+
</div>
76+
77+
{/* CTA Section */}
78+
<div className="mt-20 text-center bg-indigo-600 rounded-2xl p-12 text-white">
79+
<h2 className="text-3xl font-bold mb-4">Ready to unlock insights from your data?</h2>
80+
<p className="text-indigo-100 mb-6 text-lg">
81+
Join Impactify today and start making data-driven decisions effortlessly.
82+
</p>
83+
<Link
84+
href="/signup"
85+
className="inline-block px-8 py-3 bg-white text-indigo-600 rounded-lg text-lg font-semibold hover:bg-gray-100 transition"
86+
>
87+
Start Free
88+
</Link>
89+
</div>
90+
</main>
91+
92+
{/* Footer */}
93+
<footer className="bg-gray-900 text-white mt-20 py-8">
94+
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
95+
<p className="text-gray-400">© 2025 Impactify. Empowering data-driven decisions.</p>
96+
</div>
97+
</footer>
98+
</div>
99+
)
100+
}

client/postcss.config.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = {
2+
plugins: {
3+
tailwindcss: {},
4+
autoprefixer: {},
5+
},
6+
}
7+

client/tsconfig.json

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"compilerOptions": {
3+
"target": "ES2017",
4+
"lib": ["dom", "dom.iterable", "esnext"],
5+
"allowJs": true,
6+
"skipLibCheck": true,
7+
"strict": true,
8+
"noEmit": true,
9+
"esModuleInterop": true,
10+
"module": "esnext",
11+
"moduleResolution": "bundler",
12+
"resolveJsonModule": true,
13+
"isolatedModules": true,
14+
"jsx": "preserve",
15+
"incremental": true,
16+
"plugins": [
17+
{
18+
"name": "next"
19+
}
20+
],
21+
"paths": {
22+
"@/*": ["./*"]
23+
}
24+
},
25+
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
26+
"exclude": ["node_modules"]
27+
}
28+

0 commit comments

Comments
 (0)