Initial commit of EstimateFlow project

This commit is contained in:
Leon Serfaty G
2025-12-26 02:17:07 +00:00
parent 9469d89a90
commit a36df80cd4
3 changed files with 75 additions and 5 deletions
+2 -3
View File
@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"dev": "next dev -p 3000", "dev": "next dev -p 3000",
"build": "next build", "build": "next build",
"start": "next start -p 3000", "start": "next start",
"lint": "next lint", "lint": "next lint",
"typecheck": "tsc --noEmit", "typecheck": "tsc --noEmit",
"db:seed": "tsx scripts/seed.ts", "db:seed": "tsx scripts/seed.ts",
@@ -13,7 +13,7 @@
}, },
"dependencies": { "dependencies": {
"@hookform/resolvers": "^3.4.2", "@hookform/resolvers": "^3.4.2",
"@auth/better-sqlite3-adapter": "^0.3.1", "@next-auth/better-sqlite3-adapter": "^0.3.1",
"@radix-ui/react-accordion": "^1.2.0", "@radix-ui/react-accordion": "^1.2.0",
"@radix-ui/react-alert-dialog": "^1.1.1", "@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-avatar": "^1.1.0", "@radix-ui/react-avatar": "^1.1.0",
@@ -62,7 +62,6 @@
"@types/node": "^20.14.2", "@types/node": "^20.14.2",
"@types/nodemailer": "^6.4.14", "@types/nodemailer": "^6.4.14",
"@types/react": "^18.3.3", "@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"postcss": "^8.4.38", "postcss": "^8.4.38",
"tailwindcss": "^3.4.4", "tailwindcss": "^3.4.4",
"tsx": "^4.15.6", "tsx": "^4.15.6",
+2 -2
View File
@@ -4,7 +4,7 @@ import CredentialsProvider from 'next-auth/providers/credentials';
import { z } from 'zod'; import { z } from 'zod';
import { getUserByEmail } from '@/lib/actions/user'; import { getUserByEmail } from '@/lib/actions/user';
import getDb from './lib/db'; import getDb from './lib/db';
import { BetterSqlite3Adapter } from '@auth/better-sqlite3-adapter'; import { BetterSqlite3Adapter } from '@next-auth/better-sqlite3-adapter';
const db = getDb(); const db = getDb();
@@ -64,4 +64,4 @@ export const authOptions: NextAuthOptions = {
} }
}; };
export const { handlers, auth, signIn, signOut } = NextAuth(authOptions); export const { handlers, auth, signIn, signOut } = NextAuth(authOptions);
+71
View File
@@ -0,0 +1,71 @@
{
"name": "nextn",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev -p 3000",
"build": "next build",
"start": "next start",
"lint": "next lint",
"typecheck": "tsc --noEmit",
"db:seed": "tsx scripts/seed.ts",
"outdated": "npm outdated"
},
"dependencies": {
"@hookform/resolvers": "^3.4.2",
"@radix-ui/react-accordion": "^1.2.0",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-avatar": "^1.1.0",
"@radix-ui/react-checkbox": "^1.1.1",
"@radix-ui/react-collapsible": "^1.1.0",
"@radix-ui/react-dialog": "^1.1.1",
"@radix-ui/react-dropdown-menu": "^2.1.1",
"@radix-ui/react-label": "^2.1.0",
"@radix-ui/react-menubar": "^1.1.1",
"@radix-ui/react-popover": "^1.1.1",
"@radix-ui/react-progress": "^1.1.0",
"@radix-ui/react-radio-group": "^1.2.0",
"@radix-ui/react-scroll-area": "^1.1.0",
"@radix-ui/react-select": "^2.0.0",
"@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slider": "^1.2.0",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-switch": "^1.1.0",
"@radix-ui/react-tabs": "^1.1.0",
"@radix-ui/react-toast": "^1.2.1",
"@radix-ui/react-tooltip": "^1.1.2",
"better-sqlite3": "^9.6.0",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"date-fns": "^3.6.0",
"dotenv": "^16.4.5",
"embla-carousel-react": "^8.1.5",
"firebase": "^10.12.2",
"framer-motion": "^11.2.10",
"lucide-react": "^0.395.0",
"next": "14.2.4",
"next-auth": "4.24.7",
"nodemailer": "^6.9.14",
"pdf-lib": "^1.17.1",
"react": "^18.3.1",
"react-day-picker": "^8.10.1",
"react-dom": "^18.3.1",
"react-hook-form": "^7.51.5",
"recharts": "^2.12.7",
"tailwind-merge": "^2.3.0",
"tailwindcss-animate": "^1.0.7",
"zod": "^3.23.8",
"@auth/better-sqlite3-adapter": "^0.3.1"
},
"devDependencies": {
"@types/better-sqlite3": "^7.6.10",
"@types/node": "^20.14.2",
"@types/nodemailer": "^6.4.14",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"postcss": "^8.4.38",
"tailwindcss": "^3.4.4",
"tsx": "^4.15.6",
"typescript": "^5.4.5"
}
}