Skip to content

Commit 8a8087d

Browse files
Changed to nextjs
1 parent dc95d09 commit 8a8087d

26 files changed

+912
-0
lines changed

.gitignore

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Node.js modules
2+
node_modules/
3+
4+
# Next.js build output
5+
.next/
6+
out/
7+
8+
# Logs
9+
logs/
10+
*.log
11+
npm-debug.log*
12+
yarn-debug.log*
13+
yarn-error.log*
14+
15+
# Dependency directories
16+
jspm_packages/
17+
18+
# TypeScript build output
19+
*.tsbuildinfo
20+
21+
# dotenv environment files
22+
.env
23+
.env.local
24+
.env.development.local
25+
.env.test.local
26+
.env.production.local
27+
28+
# Next.js static files (if you are deploying to Vercel or similar)
29+
.vscode/
30+
31+
# MacOS system files
32+
.DS_Store
33+
34+
# Windows system files
35+
Thumbs.db
36+
37+
# IDEs and Editors
38+
.idea/
39+
.vscode/
40+
41+
# Yarn lock file (optional, if you're using npm instead)
42+
yarn.lock
43+
44+
# NPM lock file (optional, but recommended)
45+
package-lock.json
46+
47+
# Next.js generated .next folder on build
48+
.next/
49+
50+
# Static site generation output
51+
out/
52+
53+
# IDE / Editor specific files
54+
*.swp
55+
*.swo
56+
57+
# Tailwind CSS build folder (if you use TailwindCSS with PostCSS)
58+
.tailwind/
59+
60+
# Docker-related files
61+
docker-compose.yml
62+
Dockerfile
63+
.docker/
64+
65+
# VS Code extensions settings
66+
.vscode/settings.json
67+
.vscode/extensions.json
68+
69+
# Jest test coverage output
70+
coverage/
71+
72+
# SvelteKit (if you use it in combination with Next.js)
73+
.svelte-kit/
74+
75+
# Mac system files
76+
.AppleDouble
77+
78+
# Linux system files
79+
.directory
80+

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
2+
3+
## Getting Started
4+
5+
First, run the development server:
6+
7+
```bash
8+
npm run dev
9+
# or
10+
yarn dev
11+
# or
12+
pnpm dev
13+
# or
14+
bun dev
15+
```
16+
17+
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
18+
19+
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
20+
21+
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
22+
23+
## Learn More
24+
25+
To learn more about Next.js, take a look at the following resources:
26+
27+
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
28+
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
29+
30+
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
31+
32+
## Deploy on Vercel
33+
34+
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
35+
36+
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.

eslint.config.mjs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { dirname } from "path";
2+
import { fileURLToPath } from "url";
3+
import { FlatCompat } from "@eslint/eslintrc";
4+
5+
const __filename = fileURLToPath(import.meta.url);
6+
const __dirname = dirname(__filename);
7+
8+
const compat = new FlatCompat({
9+
baseDirectory: __dirname,
10+
});
11+
12+
const eslintConfig = [
13+
...compat.extends("next/core-web-vitals", "next/typescript"),
14+
];
15+
16+
export default eslintConfig;

next-env.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/// <reference types="next" />
2+
/// <reference types="next/image-types/global" />
3+
4+
// NOTE: This file should not be edited
5+
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.

next.config.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import type { NextConfig } from "next";
2+
3+
const nextConfig: NextConfig = {
4+
/* config options here */
5+
};
6+
7+
export default nextConfig;

package.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "my-project",
3+
"version": "0.1.0",
4+
"private": true,
5+
"scripts": {
6+
"dev": "next dev --turbopack",
7+
"build": "next build",
8+
"start": "next start",
9+
"lint": "next lint"
10+
},
11+
"dependencies": {
12+
"framer-motion": "^11.15.0",
13+
"motion": "^11.15.0",
14+
"next": "15.1.0",
15+
"react": "^19.0.0",
16+
"react-dom": "^19.0.0"
17+
},
18+
"devDependencies": {
19+
"@eslint/eslintrc": "^3",
20+
"@types/node": "^20",
21+
"@types/react": "^19",
22+
"@types/react-dom": "^19",
23+
"eslint": "^9",
24+
"eslint-config-next": "15.1.0",
25+
"postcss": "^8",
26+
"tailwindcss": "^3.4.1",
27+
"typescript": "^5"
28+
}
29+
}

postcss.config.mjs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/** @type {import('postcss-load-config').Config} */
2+
const config = {
3+
plugins: {
4+
tailwindcss: {},
5+
},
6+
};
7+
8+
export default config;

public/file.svg

Lines changed: 1 addition & 0 deletions
Loading

public/globe.svg

Lines changed: 1 addition & 0 deletions
Loading

public/next.svg

Lines changed: 1 addition & 0 deletions
Loading

public/vercel.svg

Lines changed: 1 addition & 0 deletions
Loading

public/window.svg

Lines changed: 1 addition & 0 deletions
Loading

src/app/favicon.ico

25.3 KB
Binary file not shown.

src/app/globals.css

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
@tailwind base;
2+
@tailwind components;
3+
@tailwind utilities;
4+
5+
:root {
6+
--background: #ffffff;
7+
--foreground: #171717;
8+
}
9+
10+
@media (prefers-color-scheme: dark) {
11+
:root {
12+
--background: #0a0a0a;
13+
--foreground: #ededed;
14+
}
15+
}
16+
17+
body {
18+
color: var(--foreground);
19+
background: var(--background);
20+
font-family: Arial, Helvetica, sans-serif;
21+
}

src/app/layout.tsx

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import type { Metadata } from "next";
2+
import { Geist, Geist_Mono } from "next/font/google";
3+
import "./globals.css";
4+
5+
const geistSans = Geist({
6+
variable: "--font-geist-sans",
7+
subsets: ["latin"],
8+
});
9+
10+
const geistMono = Geist_Mono({
11+
variable: "--font-geist-mono",
12+
subsets: ["latin"],
13+
});
14+
15+
export const metadata: Metadata = {
16+
title: "Create Next App",
17+
description: "Generated by create next app",
18+
};
19+
20+
export default function RootLayout({
21+
children,
22+
}: Readonly<{
23+
children: React.ReactNode;
24+
}>) {
25+
return (
26+
<html lang="en">
27+
<body
28+
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
29+
>
30+
{children}
31+
</body>
32+
</html>
33+
);
34+
}

src/app/page.jsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import Header from "../components/Header";
2+
import Projects from "../components/Projects";
3+
import Footer from "../components/Footer";
4+
5+
export default function Home() {
6+
return (
7+
<div className="min-h-screen bg-gray-900 flex flex-col">
8+
<Header />
9+
<main className="flex-grow">
10+
<Projects />
11+
</main>
12+
<Footer />
13+
</div>
14+
);
15+
}

src/app/page.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import Header from "../components/Header";
2+
import PersonalProjects from "../components/PersonalProjects";
3+
import Projects from "../components/Projects";
4+
import Footer from "../components/Footer";
5+
6+
export default function Home() {
7+
return (
8+
<div className="min-h-screen bg-gray-900 flex flex-col">
9+
<Header />
10+
<PersonalProjects />
11+
<main className="flex-grow">
12+
<Projects />
13+
</main>
14+
<Footer />
15+
</div>
16+
);
17+
}

src/components/Footer.jsx

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
"use client";
2+
import React from "react";
3+
import { motion } from "framer-motion";
4+
5+
const Footer = () => {
6+
return (
7+
<motion.footer
8+
initial={{ opacity: 0 }}
9+
animate={{ opacity: 1 }}
10+
transition={{ duration: 0.5 }}
11+
className="w-full bg-gray-800 py-8 px-4"
12+
>
13+
<div className="max-w-3xl mx-auto">
14+
<div className="flex flex-col md:flex-row justify-between items-center gap-4">
15+
{/* Left side */}
16+
<motion.div
17+
initial={{ opacity: 0, x: -20 }}
18+
animate={{ opacity: 1, x: 0 }}
19+
transition={{ duration: 0.5, delay: 0.2 }}
20+
className="text-center md:text-left"
21+
>
22+
<h3 className="text-gray-100 font-semibold mb-2">Let's Connect</h3>
23+
<p className="text-gray-400 max-w-md">
24+
Open for collaborations and interesting projects. Feel free to
25+
reach out!
26+
</p>
27+
</motion.div>
28+
29+
{/* Right side */}
30+
<motion.div
31+
initial={{ opacity: 0, x: 20 }}
32+
animate={{ opacity: 1, x: 0 }}
33+
transition={{ duration: 0.5, delay: 0.3 }}
34+
className="flex flex-col items-center md:items-end"
35+
>
36+
<motion.a
37+
whileHover={{ scale: 1.05 }}
38+
href="mailto:your.email@example.com"
39+
className="text-blue-400 hover:text-blue-300 mb-2"
40+
>
41+
your.email@example.com
42+
</motion.a>
43+
</motion.div>
44+
</div>
45+
</div>
46+
</motion.footer>
47+
);
48+
};
49+
50+
export default Footer;

0 commit comments

Comments
 (0)