Skip to content

Commit

Permalink
feat: ✨ updated landing page (#92)
Browse files Browse the repository at this point in the history
* feat: ✨ updated landing page

* fix: 🐛 fixed build issue

* feat: ✨ added one more faq entry

* feat: ⬆️ upgraded dependencies
  • Loading branch information
WasiqB authored Nov 25, 2024
1 parent 0c7006b commit 5f13cde
Show file tree
Hide file tree
Showing 31 changed files with 889 additions and 522 deletions.
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 📊 Ultra-Reporter App

[Ultra-Reporter](https://ultra-reporter-app.vercel.app/) is your go-to tool for transforming your TestNG (Maven, Java) test results into stunning reports.
[Ultra-Reporter](https://www.ultra-reporter.com/) is your go-to tool for transforming your TestNG (Maven, Java) test results into stunning reports.

Built on the power of Next.js and Tailwind CSS, this reporter takes your raw test results from TestNG and presents it in a beautiful, easy-to-digest format. Simplify your test reporting with just a one click!

Expand Down Expand Up @@ -28,10 +28,13 @@ Following are the steps to get started with Ultra-Reporter:

Ultra-Reporter leverages cutting-edge technologies to provide fast, efficient, and sleek reporting:

- **[Next.js 14](https://nextjs.org/)**: Dynamic, server-rendered React apps.
- **[Next.js 15](https://nextjs.org/)**: Dynamic, server-rendered React apps.
- **[TypeScript](https://www.typescriptlang.org/)**: Strongly typed for better reliability and scalability.
- **[Tailwind CSS](https://tailwindcss.com/)**: Beautiful, responsive design without the hassle.
- **[Shadcn/UI](https://ui.shadcn.com/)**, [Magic UI](https://magicui.design/) & **[Daisy UI](https://daisyui.com/)**: Sleek UI components for a polished user experience.
- **[Turborepo](https://turborepo.org/)**: Fast, efficient monorepo management.
- **[ESLint](https://eslint.org/) & [Prettier](https://prettier.io/)**: Enforce consistent code style and automate code formatting.
- **[Prettier](https://prettier.io/)**: Code formatter.
- **[Vercel](https://vercel.com/)**: Next.js is deployed on Vercel, a platform for static websites and serverless functions.

## ⏱️ What's Next?
Expand All @@ -44,6 +47,7 @@ Got a feature request or an idea to make Ultra-Reporter even better? Don’t hes

Check out the previous versions of Ultra-Reporter to see what features were added in each release:

- [Version 0.5.0](https://github.com/WasiqB/ultra-reporter-app/releases/tag/v0.5.0)
- [Version 0.4.0](https://github.com/WasiqB/ultra-reporter-app/releases/tag/v0.4.0)
- [Version 0.3.0](https://github.com/WasiqB/ultra-reporter-app/releases/tag/v0.3.0)
- [Version 0.2.0](https://github.com/WasiqB/ultra-reporter-app/releases/tag/v0.2.0)
Expand Down
45 changes: 0 additions & 45 deletions apps/web/app/(app)/layout.tsx

This file was deleted.

24 changes: 7 additions & 17 deletions apps/web/app/(app)/page.tsx
Original file line number Diff line number Diff line change
@@ -1,31 +1,21 @@
import { FAQ } from '@ultra-reporter/ui/home/faq';
import { Features } from '@ultra-reporter/ui/home/feature';
import { Feedback } from '@ultra-reporter/ui/home/feedback';
import { Hero } from '@ultra-reporter/ui/home/hero';
import { HowItWorks } from '@ultra-reporter/ui/home/how-it-works';
import { NavBar } from '@ultra-reporter/ui/home/nav-bar';
import { OpenSource } from '@ultra-reporter/ui/home/open-source';
import { Sponsor } from '@ultra-reporter/ui/home/sponsor';
import { FileUpload } from '@ultra-reporter/ui/utils/file-upload';

const LandingPage = (): JSX.Element => {
return (
<>
<NavBar />
<main className='bg-background text-foreground container mx-auto flex-grow px-4 py-16'>
<div className='flex flex-col items-center pt-16 text-center'>
<h2 className='gradient-text text-3xl font-bold md:text-5xl'>
Ultra Reporter
</h2>
<h1 className='mb-8 mt-16 text-center text-4xl font-bold leading-tight md:text-6xl'>
<span className='text-foreground'>
Convert your Test results to
</span>
<br />
<span className='gradient-text'>Beautiful Report</span>
<br />
<span className='text-foreground'>in one click</span>
</h1>
<FileUpload />
</div>
<main className='bg-background text-foreground container mx-auto px-4 py-16'>
<Hero />
<Features />
<HowItWorks />
<FAQ />
<Feedback />
<Sponsor />
<OpenSource />
Expand Down
97 changes: 97 additions & 0 deletions apps/web/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
import { GoogleAnalytics } from '@next/third-parties/google';
import { Provider as AnalyticsProvider } from '@ultra-reporter/analytics/client';
import '@ultra-reporter/ui/global.css';
import { Footer } from '@ultra-reporter/ui/home/footer';
import { ScrollToTop } from '@ultra-reporter/ui/home/scroll-to-top';
import { ThemeProvider } from '@ultra-reporter/ui/utils/theme-provider';
import { isProd } from '@ultra-reporter/utils/constants';
import type { Metadata } from 'next';
import { DetailedHTMLProps, HtmlHTMLAttributes } from 'react';

export const metadata: Metadata = {
title: {
default: 'Ultra Reporter - Beautiful Test Reports in One Click',
template: '%s | Ultra Reporter',
},
description:
'Convert your TestNG test results into beautiful, comprehensive reports instantly with Ultra Reporter. Visualize your data and improve your testing workflow.',
keywords: [
'TestNG',
'TestNG Reporter',
'test reports',
'test visualization',
'QA tools',
'software testing',
'Ultra Reporter',
'TestNG reports',
'TestNG visualization',
],
authors: [{ name: 'Wasiq Bhamla' }],
creator: 'Wasiq Bhamla',
publisher: 'Wasiq Bhamla',
formatDetection: {
email: false,
address: false,
telephone: false,
},
openGraph: {
type: 'website',
locale: 'en_US',
url: 'https://ultra-reporter.com',
title: 'Ultra Reporter - Beautiful Test Reports in One Click',
description:
'Convert your TestNG test results into beautiful, comprehensive reports instantly with Ultra Reporter. Visualize your data and improve your testing workflow.',
siteName: 'Ultra Reporter',
},
twitter: {
card: 'summary_large_image',
title: 'Ultra Reporter - Beautiful Test Reports in One Click',
description:
'Convert your TestNG test results into beautiful, comprehensive reports instantly with Ultra Reporter. Visualize your data and improve your testing workflow.',
creator: '@WasiqBhamla',
},
robots: {
index: true,
follow: true,
googleBot: {
index: true,
follow: true,
'max-video-preview': -1,
'max-image-preview': 'large',
'max-snippet': -1,
},
},
};

const RootLayout = ({
children,
}: Readonly<{
children: React.ReactNode;
}>): DetailedHTMLProps<
HtmlHTMLAttributes<HTMLHtmlElement>,
HTMLHtmlElement
> => {
return (
<html lang='en' suppressHydrationWarning>
<head>
<link rel='icon' href='/favicon.png' sizes='any' type='image/png' />
</head>
<body className={'antialiased'}>
<ThemeProvider
attribute='class'
defaultTheme='light'
enableSystem
disableTransitionOnChange
>
{children}
<ScrollToTop />
<Footer />
<AnalyticsProvider />
</ThemeProvider>
</body>
{isProd && <GoogleAnalytics gaId='G-CNW9F6PH7P' />}
</html>
);
};

export default RootLayout;
19 changes: 19 additions & 0 deletions apps/web/app/not-found.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { Button } from '@ultra-reporter/ui/components/button';
import { FileQuestion } from 'lucide-react';
import Link from 'next/link';

export default function NotFound() {
return (
<div className='bg-background text-foreground flex min-h-screen flex-col items-center justify-center'>
<FileQuestion className='text-primary mb-8 h-24 w-24' />
<h1 className='mb-4 text-4xl font-bold'>404 - Page Not Found</h1>
<p className='mb-8 max-w-md text-center text-xl'>
Oops! It seems what you're looking for has gone missing in our data
center.
</p>
<Button asChild>
<Link href='/'>Return to Homepage</Link>
</Button>
</div>
);
}
14 changes: 14 additions & 0 deletions apps/web/app/robots.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { MetadataRoute } from 'next';

const robots = (): MetadataRoute.Robots => {
return {
rules: {
userAgent: '*',
allow: '/',
disallow: '/private/',
},
sitemap: 'https://ultra-reporter.com/sitemap.xml',
};
};

export default robots;
16 changes: 16 additions & 0 deletions apps/web/app/sitemap.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { MetadataRoute } from 'next';

const baseUrl = 'https://ultra-reporter.com';

const sitemap = (): MetadataRoute.Sitemap => {
const routes = ['', '/pricing', '/features', '/faq'].map((route) => ({
url: `${baseUrl}${route}`,
lastModified: new Date().toISOString().split('T')[0],
changeFrequency: 'weekly' as const,
priority: route === '' ? 1 : 0.8,
}));

return routes;
};

export default sitemap;
1 change: 1 addition & 0 deletions apps/web/next.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ const nextConfig = {
eslint: {
ignoreDuringBuilds: true,
},
reactStrictMode: true,
};

export default nextConfig;
1 change: 0 additions & 1 deletion apps/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
"devDependencies": {
"@types/react": "^18.3.12",
"@types/react-dom": "^18",
"@ultra-reporter/tailwind-config": "workspace:*",
"@ultra-reporter/typescript-config": "workspace:*",
"postcss": "^8.4.49",
"tailwindcss": "^3.4.15"
Expand Down
2 changes: 1 addition & 1 deletion apps/web/postcss.config.mjs
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export { default } from '@ultra-reporter/tailwind-config/postcss.config';
export { default } from '@ultra-reporter/ui/postcss.config';
Loading

0 comments on commit 5f13cde

Please sign in to comment.