Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
node_modules
.env
.env

# editos files
.vscode
4 changes: 4 additions & 0 deletions templates/portfolio/nextjs-monolith/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"root": true,
"extends": "next/core-web-vitals"
}
3 changes: 3 additions & 0 deletions templates/portfolio/nextjs-monolith/app/globals.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
19 changes: 19 additions & 0 deletions templates/portfolio/nextjs-monolith/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import type { Metadata } from 'next';
import './globals.css';

export const metadata: Metadata = {
title: '{{projectName}} - Portfolio',
description: 'A {{variant}} portfolio built with Opusify CLI.',
};

export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en" data-theme="{{design}}">
<body>{children}</body>
</html>
);
}
26 changes: 26 additions & 0 deletions templates/portfolio/nextjs-monolith/app/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
export default function Home() {
return (
<main className="min-h-screen flex flex-col items-center justify-center px-6 text-center">
<h1 className="text-5xl font-bold tracking-tight">
Welcome to <span className="text-blue-600">{{projectName}}</span>
</h1>
<p className="mt-4 text-xl text-gray-600 max-w-2xl">
A <strong>{{variant}}</strong> portfolio, scaffolded by Opusify CLI.
</p>
<div className="mt-8 flex gap-4">
<a
href="#projects"
className="rounded-lg bg-blue-600 px-6 py-3 text-white font-medium hover:bg-blue-700 transition"
>
View Projects
</a>
<a
href="#contact"
className="rounded-lg border border-gray-300 px-6 py-3 font-medium hover:bg-gray-50 transition"
>
Contact Me
</a>
</div>
</main>
);
}
4 changes: 4 additions & 0 deletions templates/portfolio/nextjs-monolith/next.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/** @type {import('next').NextConfig} */
const nextConfig = {};

module.exports = nextConfig;
21 changes: 19 additions & 2 deletions templates/portfolio/nextjs-monolith/package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,27 @@
{
"name": "{{projectName}}",
"version": "1.0.0",
"description": "A {{variant}} style {{template}} built with {{architecture}}.",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
},
"dependencies": {
"next": "14.2.3",
"react": "^18.3.1",
"react-dom": "^18.3.1"
},
"devDependencies": {
"@types/node": "^20.12.0",
"@types/react": "^18.3.0",
"@types/react-dom": "^18.3.0",
"autoprefixer": "^10.4.19",
"eslint": "^8.57.0",
"eslint-config-next": "14.2.3",
"postcss": "^8.4.38",
"tailwindcss": "^3.4.3",
"typescript": "^5.4.5"
}
}
}
6 changes: 6 additions & 0 deletions templates/portfolio/nextjs-monolith/postcss.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};
14 changes: 14 additions & 0 deletions templates/portfolio/nextjs-monolith/tailwind.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import type { Config } from 'tailwindcss';

const config: Config = {
content: [
'./app/**/*.{ts,tsx}',
'./components/**/*.{ts,tsx}',
],
theme: {
extend: {},
},
plugins: [],
};

export default config;
26 changes: 26 additions & 0 deletions templates/portfolio/nextjs-monolith/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"compilerOptions": {
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"plugins": [
{
"name": "next"
}
],
"paths": {
"@/*": ["./*"]
}
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
}
Loading