Restaurant-Landing-Page-1--NextJS-Frontend GitHub Details, Stars and Alternatives | OpenRepoFinder
arnobt78 / repository
Restaurant-Landing-Page-1--NextJS-Frontend
A modern, responsive restaurant website built with Next.js 15, TypeScript, TailwindCSS, and Framer Motion. This project showcases local flavours and cuisine with smooth animations, an interactive map, and a clean UI. It is designed for both production use and as an educational resource for learning the App Router, client components, modern React
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
72
Community adoption25% weight
12
Maintenance state20% weight
100
License clarity10% weight
0
Project information10% weight
100
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A modern, responsive restaurant website built with Next.js 15, TypeScript, TailwindCSS, and Framer Motion. This project showcases local flavours and cuisine with smooth animations, an interactive map, and a clean UI. It is designed for both production use and as an educational resource for learning the App Router, client components, and modern React patterns. All content is static and client-friendly—no backend or API is required to run it.
A modern, fully responsive coffee shop landing page built with Next.js 15, React, TypeScript, and TailwindCSS. This project is designed for learning and instruction: it showcases the App Router, client & server components, advanced animations (GSAP, Framer Motion, Locomotive Scroll), SEO metadata, component-based structure
A modern, single-page landing site for an AI chat product. It is built as a front-end showcase with React, Vite, TypeScript, and Tailwind CSS. The project is aimed at learning and reuse: you get a full landing layout (hero, features, pricing, roadmap, footer), scroll-based animations with Framer Motion, a responsive header with mobile menu
W'Food is a single-page restaurant landing site that presents a hero section, menu items, a reservation form, an about section, an interactive map, and a footer. It is built with the Next.js 15 App Router, TypeScript, TailwindCSS, and Framer Motion. The app is fully static and frontend-only: there is no backend server, database, or API. All data (menu items, nav links, map markers) lives in the codebase under data/ and types/. The project is suitable for learning Next.js App Router, client components, animations, and responsive layout patterns.
Features & Functionality
Core features:
Hero section – Full-width hero with headline, subtitle, and imagery. Uses Framer Motion for fade-in animations keyed to scroll.
Menu section – Grid of featured dishes (image, title, price). Data comes from data/menu.ts. Hover effects and responsive columns.
Reservation section – Form with first/last name, date picker (react-day-picker), and party size select (Radix Select). UI-only; no submission backend.
About section – Two-column layout (text + image) with scroll-triggered animations.
Map section – Interactive Leaflet map (via react-leaflet) with multiple markers and popups. Loaded only on the client via MapDynamic to avoid SSR issues with Leaflet.
Header – Fixed nav with logo, desktop nav links (smooth scroll via react-scroll), “Book a table” CTA, and mobile menu.
Footer – Logo, link columns (Blog, New Item, Socials), and copyright.
Technical behaviour:
Single route – The only route is / (home). All sections are on one page; navigation uses scroll-to-section (e.g. #home, #menu, #about, #contact, #reservation).
Use them in code via process.env.NEXT_PUBLIC_* (client) or process.env.* (server). Restart the dev server after changing .env.local.
For the current codebase, no env vars are read; this section is for future use only.
Routes & Navigation
Route: There is a single route, /, defined by app/page.tsx. It renders the main layout with all sections (Header, Hero, Menu, Reservation, About, Map, Footer).
In-page navigation: Links in the header and mobile menu use react-scroll to smooth-scroll to section IDs: #home, #menu, #about, #contact, #reservation. Section IDs are set on the corresponding <section> elements (e.g. id="home", id="menu").
Vercel rewrites:vercel.json rewrites all non-asset paths to / so that refreshing the page on any path still serves the app (SPA-style behaviour on Vercel).
There are no API routes or server-only routes in this project.
Components Walkthrough
app/layout.tsx
Root layout: loads Lora and Poppins via next/font/google, applies globals.css, and exports metadata (title, description, keywords, Open Graph, Twitter, icons, author, etc.). Renders <html> and <body> with font variables and background styles.
app/page.tsx
Server component that composes the single page: Header, Hero, Menu, Reservation, About, MapDynamic, Footer inside a <main> container.
Header
Client component. Tracks scroll position; toggles header background after 100px. Renders logo (Next.js Link + Image), desktop Nav, a react-scroll “Book a table” button, and NavMobile for small screens.
Nav
Uses Link from react-scroll to scroll to section IDs. Link list and offsets come from data/navLinks.ts.
NavMobile
Mobile menu: hamburger icon toggles a full-screen overlay with logo, scroll links (with icons from data/navMobileLinks.tsx), and “Book a table” button.
Hero
Hero block with headline, byline, and CTA. Uses Framer Motion’s motion.* and fadeIn from lib/variants.ts for scroll-triggered animations. Images via Next.js Image.
Menu
Reads menuItems from data/menu.ts and renders a responsive grid. Each item shows image, title, and price with hover effects.
Reservation & ReservationForm
Reservation is a wrapper with motion; the form inside uses Radix Popover + react-day-picker for the date and Radix Select for party size. No submit handler; form is UI-only.
About
Two-column layout (text + image) with motion variants.
Map & MapDynamic Map uses react-leaflet (MapContainer, TileLayer, Marker, Popup) and mapMarkers from data/mapMarkers.ts. It is only loaded on the client; MapDynamic uses dynamic(() => import('@/components/Map'), { ssr: false }) so the map does not run during
A modern, responsive travel & tourism landing page built with React, Vite, TypeScript, Tailwind CSS, Framer Motion. This project is designed as both a learning resource and a practical template: it demonstrates reusable components, Context API, custom hooks, type-safe props, and animated UI. Use it to discover featured tours
A modern, user-friendly language translator web application built with Next.js, React, and TypeScript. It uses the free MyMemory Translation API to translate text between dozens of languages. The app features a responsive UI with TailwindCSS, smooth animations via Framer Motion, and a server-rendered shell for fast first paint—ideal for learning
A modern, responsive web app that merges a monthly calendar with a timed event / to-do list. Pick future (or today’s) dates, set hours & minutes, write a short note, then add, edit, or delete events. The UI uses a dark glassmorphism style, subtle Framer Motion transitions, Sonner toasts. All event data lives in the browser via localstorage
A modern, full-featured news application that delivers live world headlines from thousands of sources. Built with Next.js 16, React 19, TypeScript & the GNews API, it demonstrates server-side rendering (SSR), client-side data fetching, React Query, Context API, bookmarks with localStorage, responsive design—ideal for learning modern web development