From a2e0a65b2599267efe94d665d6305f59b225bbd5 Mon Sep 17 00:00:00 2001 From: Biswa Kalyan Bhuyan Date: Tue, 29 Apr 2025 10:47:43 +0530 Subject: feat: added initlaized the frontend and backend --- frontend/src/app/(auth)/login/page.js | 34 ++++ frontend/src/app/(auth)/register/page.js | 34 ++++ frontend/src/app/admin/page.js | 293 +++++++++++++++++++++++++++++++ frontend/src/app/favicon.ico | Bin 0 -> 25931 bytes frontend/src/app/globals.css | 122 +++++++++++++ frontend/src/app/layout.js | 30 ++++ frontend/src/app/page.js | 219 +++++++++++++++++++++++ 7 files changed, 732 insertions(+) create mode 100644 frontend/src/app/(auth)/login/page.js create mode 100644 frontend/src/app/(auth)/register/page.js create mode 100644 frontend/src/app/admin/page.js create mode 100644 frontend/src/app/favicon.ico create mode 100644 frontend/src/app/globals.css create mode 100644 frontend/src/app/layout.js create mode 100644 frontend/src/app/page.js (limited to 'frontend/src/app') diff --git a/frontend/src/app/(auth)/login/page.js b/frontend/src/app/(auth)/login/page.js new file mode 100644 index 0000000..03208e0 --- /dev/null +++ b/frontend/src/app/(auth)/login/page.js @@ -0,0 +1,34 @@ +import Link from 'next/link'; +import LoginForm from '@/components/auth/LoginForm'; + +export const metadata = { + title: 'Login - Restaurant Management System', + description: 'Login to your account', +}; + +const LoginPage = () => { + return ( +
+
+ + Restaurant + +

Welcome Back

+

+ Enter your credentials to access your account +

+
+ + + +

+ Don't have an account?{' '} + + Register here + +

+
+ ); +}; + +export default LoginPage; \ No newline at end of file diff --git a/frontend/src/app/(auth)/register/page.js b/frontend/src/app/(auth)/register/page.js new file mode 100644 index 0000000..1916413 --- /dev/null +++ b/frontend/src/app/(auth)/register/page.js @@ -0,0 +1,34 @@ +import Link from 'next/link'; +import RegisterForm from '@/components/auth/RegisterForm'; + +export const metadata = { + title: 'Register - Restaurant Management System', + description: 'Create a new account', +}; + +const RegisterPage = () => { + return ( +
+
+ + Restaurant + +

Create Account

+

+ Join us to enjoy delicious food and exclusive offers +

+
+ + + +

+ Already have an account?{' '} + + Login here + +

+
+ ); +}; + +export default RegisterPage; \ No newline at end of file diff --git a/frontend/src/app/admin/page.js b/frontend/src/app/admin/page.js new file mode 100644 index 0000000..9f0e737 --- /dev/null +++ b/frontend/src/app/admin/page.js @@ -0,0 +1,293 @@ +import AdminLayout from '@/components/layouts/AdminLayout'; + +export const metadata = { + title: 'Admin Dashboard - Restaurant Management System', + description: 'Admin dashboard for managing the restaurant', +}; + +const AdminDashboard = () => { + return ( + +
+ {/* Stats Card: Total Orders */} +
+

+ Total Orders +

+

128

+
+ + + + + 12% increase +
+
+ + {/* Stats Card: Revenue */} +
+

+ Revenue +

+

$3,240

+
+ + + + + 8% increase +
+
+ + {/* Stats Card: Customers */} +
+

+ Customers +

+

64

+
+ + + + + 24% increase +
+
+ + {/* Stats Card: Reservations */} +
+

+ Reservations +

+

32

+
+ + + + Same as last week +
+
+
+ + {/* Recent Orders */} +
+
+

Recent Orders

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Order ID + + Customer + + Date + + Status + + Amount +
#ORDER123John SmithApr 28, 2025 + + Completed + + $128.50
#ORDER122Sarah JohnsonApr 28, 2025 + + Preparing + + $75.20
#ORDER121Michael BrownApr 27, 2025 + + Delivered + + $92.40
#ORDER120Emma WilsonApr 27, 2025 + + Completed + + $54.60
#ORDER119David ClarkApr 26, 2025 + + Cancelled + + $0.00
+
+
+ + {/* Today's Reservations */} +
+
+

Today's Reservations

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Customer + + Time + + Table + + Guests + + Status +
Jessica Lee12:30 PMTable 54 + + Confirmed + +
Robert Taylor1:00 PMTable 82 + + Confirmed + +
Maria Rodriguez7:00 PMTable 126 + + Pending + +
James Wilson7:30 PMTable 32 + + Confirmed + +
Emily Davis8:00 PMTable 74 + + Confirmed + +
+
+
+
+ ); +}; + +export default AdminDashboard; \ No newline at end of file diff --git a/frontend/src/app/favicon.ico b/frontend/src/app/favicon.ico new file mode 100644 index 0000000..718d6fe Binary files /dev/null and b/frontend/src/app/favicon.ico differ diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css new file mode 100644 index 0000000..dc98be7 --- /dev/null +++ b/frontend/src/app/globals.css @@ -0,0 +1,122 @@ +@import "tailwindcss"; +@import "tw-animate-css"; + +@custom-variant dark (&:is(.dark *)); + +@theme inline { + --color-background: var(--background); + --color-foreground: var(--foreground); + --font-sans: var(--font-geist-sans); + --font-mono: var(--font-geist-mono); + --color-sidebar-ring: var(--sidebar-ring); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar: var(--sidebar); + --color-chart-5: var(--chart-5); + --color-chart-4: var(--chart-4); + --color-chart-3: var(--chart-3); + --color-chart-2: var(--chart-2); + --color-chart-1: var(--chart-1); + --color-ring: var(--ring); + --color-input: var(--input); + --color-border: var(--border); + --color-destructive: var(--destructive); + --color-accent-foreground: var(--accent-foreground); + --color-accent: var(--accent); + --color-muted-foreground: var(--muted-foreground); + --color-muted: var(--muted); + --color-secondary-foreground: var(--secondary-foreground); + --color-secondary: var(--secondary); + --color-primary-foreground: var(--primary-foreground); + --color-primary: var(--primary); + --color-popover-foreground: var(--popover-foreground); + --color-popover: var(--popover); + --color-card-foreground: var(--card-foreground); + --color-card: var(--card); + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); +} + +:root { + --radius: 0.625rem; + --background: oklch(1 0 0); + --foreground: oklch(0.145 0 0); + --card: oklch(1 0 0); + --card-foreground: oklch(0.145 0 0); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.145 0 0); + --primary: oklch(0.205 0 0); + --primary-foreground: oklch(0.985 0 0); + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.556 0 0); + --accent: oklch(0.97 0 0); + --accent-foreground: oklch(0.205 0 0); + --destructive: oklch(0.577 0.245 27.325); + --border: oklch(0.922 0 0); + --input: oklch(0.922 0 0); + --ring: oklch(0.708 0 0); + --chart-1: oklch(0.646 0.222 41.116); + --chart-2: oklch(0.6 0.118 184.704); + --chart-3: oklch(0.398 0.07 227.392); + --chart-4: oklch(0.828 0.189 84.429); + --chart-5: oklch(0.769 0.188 70.08); + --sidebar: oklch(0.985 0 0); + --sidebar-foreground: oklch(0.145 0 0); + --sidebar-primary: oklch(0.205 0 0); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.97 0 0); + --sidebar-accent-foreground: oklch(0.205 0 0); + --sidebar-border: oklch(0.922 0 0); + --sidebar-ring: oklch(0.708 0 0); +} + +.dark { + --background: oklch(0.145 0 0); + --foreground: oklch(0.985 0 0); + --card: oklch(0.205 0 0); + --card-foreground: oklch(0.985 0 0); + --popover: oklch(0.205 0 0); + --popover-foreground: oklch(0.985 0 0); + --primary: oklch(0.922 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); + --secondary-foreground: oklch(0.985 0 0); + --muted: oklch(0.269 0 0); + --muted-foreground: oklch(0.708 0 0); + --accent: oklch(0.269 0 0); + --accent-foreground: oklch(0.985 0 0); + --destructive: oklch(0.704 0.191 22.216); + --border: oklch(1 0 0 / 10%); + --input: oklch(1 0 0 / 15%); + --ring: oklch(0.556 0 0); + --chart-1: oklch(0.488 0.243 264.376); + --chart-2: oklch(0.696 0.17 162.48); + --chart-3: oklch(0.769 0.188 70.08); + --chart-4: oklch(0.627 0.265 303.9); + --chart-5: oklch(0.645 0.246 16.439); + --sidebar: oklch(0.205 0 0); + --sidebar-foreground: oklch(0.985 0 0); + --sidebar-primary: oklch(0.488 0.243 264.376); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.269 0 0); + --sidebar-accent-foreground: oklch(0.985 0 0); + --sidebar-border: oklch(1 0 0 / 10%); + --sidebar-ring: oklch(0.556 0 0); +} + +@layer base { + * { + @apply border-border outline-ring/50; + } + body { + @apply bg-background text-foreground; + } +} diff --git a/frontend/src/app/layout.js b/frontend/src/app/layout.js new file mode 100644 index 0000000..de45098 --- /dev/null +++ b/frontend/src/app/layout.js @@ -0,0 +1,30 @@ +import { Inter } from "next/font/google"; +import "./globals.css"; +import { ThemeProvider } from "@/context/theme-context"; +import { AuthProvider } from "@/context/auth-context"; +import { CartProvider } from "@/context/cart-context"; +import { Sonner } from "@/components/ui/sonner"; + +const inter = Inter({ subsets: ["latin"] }); + +export const metadata = { + title: "Restaurant Management System", + description: "A full-stack application for restaurant management", +}; + +export default function RootLayout({ children }) { + return ( + + + + + + {children} + + + + + + + ); +} diff --git a/frontend/src/app/page.js b/frontend/src/app/page.js new file mode 100644 index 0000000..2c7ec34 --- /dev/null +++ b/frontend/src/app/page.js @@ -0,0 +1,219 @@ +import Link from 'next/link'; +import MainLayout from '@/components/layouts/MainLayout'; + +export default function Home() { + return ( + + {/* Hero section */} +
+
+

+ Experience the Finest Cuisine +

+

+ Welcome to our restaurant, where we serve delicious meals made with fresh ingredients and a passion for culinary excellence. +

+
+ + View Menu + + + Book a Table + +
+
+
+ + {/* Featured Menu Items */} +
+
+

Featured Menu Items

+
+ {/* Item 1 */} +
+
+
+

Signature Pasta

+

+ Handmade pasta with our special sauce and fresh herbs. +

+
+ $18.99 + +
+
+
+ + {/* Item 2 */} +
+
+
+

Premium Steak

+

+ Juicy, tender steak cooked to perfection with seasonal vegetables. +

+
+ $29.99 + +
+
+
+ + {/* Item 3 */} +
+
+
+

Seafood Delight

+

+ Fresh seafood mix with special spices and lemon butter sauce. +

+
+ $24.99 + +
+
+
+
+
+ + View Full Menu + +
+
+
+ + {/* About Section */} +
+
+
+
+
+
+
+

Our Story

+

+ Founded in 2010, our restaurant has been serving the community with delicious meals made from the freshest ingredients. Our chefs are passionate about creating unforgettable dining experiences. +

+

+ We believe in sustainable practices and source our ingredients from local farmers and suppliers whenever possible. +

+ + Learn More + +
+
+
+
+ + {/* Testimonials */} +
+
+

What Our Customers Say

+
+ {/* Testimonial 1 */} +
+
+
+
+

John Smith

+
+ + + + + +
+
+
+

+ "The food was amazing and the service was exceptional. I will definitely be coming back!" +

+
+ + {/* Testimonial 2 */} +
+
+
+
+

Sarah Johnson

+
+ + + + + +
+
+
+

+ "Perfect place for a special occasion. The ambiance was lovely and the food was delicious." +

+
+ + {/* Testimonial 3 */} +
+
+
+
+

Michael Brown

+
+ + + + + +
+
+
+

+ "I've tried many restaurants in the area, but this one stands out. The flavors are authentic and the staff is friendly." +

+
+
+
+
+ + {/* Call to Action */} +
+
+

Ready to Experience Our Cuisine?

+

+ Book your table now or order online for pickup or delivery. +

+
+ + Book a Table + + + Order Online + +
+
+
+
+ ); +} -- cgit v1.2.3-59-g8ed1b