A production-ready Next.js 14 website built with modern web technologies and best practices.
- Next.js 14 with App Router
- TypeScript for type safety
- Tailwind CSS for styling
- shadcn/ui components for consistent UI
- Responsive Design for all devices
- SEO Optimized with metadata, sitemap, and robots.txt
- Performance Optimized with image and font optimization
- Testing Setup with Jest and React Testing Library
- API Routes for server-side logic
- Environment Variables management
- Framework: Next.js 14
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui + Radix UI
- Icons: Lucide React
- Testing: Jest + React Testing Library
- Package Manager: npm
rumora/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── api/ # API routes
│ │ ├── about/ # About page
│ │ ├── services/ # Services page
│ │ ├── contact/ # Contact page
│ │ ├── globals.css # Global styles
│ │ ├── layout.tsx # Root layout
│ │ ├── page.tsx # Homepage
│ │ └── sitemap.ts # Dynamic sitemap
│ ├── components/ # Reusable components
│ │ ├── ui/ # shadcn/ui components
│ │ └── layout/ # Layout components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility functions
│ └── types/ # TypeScript type definitions
├── public/ # Static assets
├── .env.local # Environment variables
├── jest.config.js # Jest configuration
├── jest.setup.js # Jest setup
└── package.json # Dependencies and scripts
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd rumora- Install dependencies:
npm install- Set up environment variables:
cp .env.local.example .env.local
# Edit .env.local with your configuration- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run test- Run testsnpm run test:watch- Run tests in watch modenpm run test:coverage- Run tests with coverage
- Button - Various button variants and sizes
- Card - Content containers with header, content, and footer
- Input - Form input fields
- Textarea - Multi-line text input
- Label - Form labels
- Separator - Visual dividers
- Header - Navigation header with mobile menu
- Footer - Site footer with links and information
- MainLayout - Wrapper for consistent layout
Create a .env.local file with the following variables:
# App Configuration
NEXT_PUBLIC_APP_NAME=Rumora
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_APP_DESCRIPTION=Building the future with innovative digital solutions
# API Configuration
API_BASE_URL=http://localhost:3000/api
# Contact Form
CONTACT_EMAIL=hello@rumora.com
CONTACT_PHONE=+1 (555) 123-4567The project uses Tailwind CSS v4 with the new CSS engine. Configuration is handled automatically by Next.js.
The project includes a comprehensive testing setup:
- Jest as the test runner
- React Testing Library for component testing
- jsdom for DOM simulation
- Coverage reporting for test coverage
Run tests:
npm run test- Home (
/) - Landing page with hero section and services overview - About (
/about) - Company information, mission, and team - Services (
/services) - Detailed service offerings and process - Contact (
/contact) - Contact form and company information
GET /api/hello- Sample API endpointPOST /api/contact- Contact form submission handler
- Push your code to GitHub
- Connect your repository to Vercel
- Deploy automatically
- Build the project:
npm run build- Start the production server:
npm run startThe project includes several performance optimizations:
- Image Optimization with
next/image - Font Optimization with
next/font - Dynamic Imports for code splitting
- SEO Best Practices for better search engine visibility
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
This project is licensed under the MIT License.
For support, email hello@rumora.com or create an issue in the repository.
Built with ❤️ by the Rumora team