├── src ├── css │ ├── tailwind │ │ ├── _base.css │ │ ├── _components.css │ │ └── _utilities.css │ └── main.css ├── components │ ├── react-swipeable-views-react-18-fix.d.ts │ ├── GoogleAddress.tsx │ ├── SignWithGoogle.tsx │ ├── ProgressBar.tsx │ ├── ProgressPane.tsx │ ├── WaitingLocker.tsx │ ├── ProgressIndicator.tsx │ ├── PortalConsider.tsx │ ├── Footer.tsx │ ├── NotificationComponent.tsx │ ├── MyTab.tsx │ ├── AlertContainers.tsx │ ├── UploadLogo.tsx │ ├── Login.tsx │ ├── UserInfoAvatar.tsx │ ├── PortalClass.tsx │ ├── Header.tsx │ ├── PortalSummaryB.tsx │ ├── PortalSummaryA.tsx │ ├── Modal.tsx │ └── SignUp.tsx ├── pages │ ├── api │ │ ├── logout.ts │ │ ├── classes.ts │ │ ├── searchkeywords.ts │ │ ├── users.ts │ │ ├── create-checkout-session.ts │ │ ├── login.ts │ │ ├── _testApi │ │ │ ├── testforstrsim.ts │ │ │ └── testsearch.ts │ │ ├── upload.tsx │ │ ├── google.ts │ │ ├── products.ts │ │ ├── chatsocket.ts │ │ └── sendmail.ts │ ├── index.tsx │ ├── adminchat.tsx │ ├── payres │ │ ├── fail.tsx │ │ └── success.tsx │ ├── _document.tsx │ ├── dashboard.tsx │ ├── auth.tsx │ ├── profile.tsx │ ├── adminusers.tsx │ ├── _app.tsx │ ├── consider.tsx │ ├── checkout.tsx │ ├── apply.tsx │ └── summary.tsx ├── models │ ├── keywordsModel.js │ ├── classesModel.js │ ├── productsModel.js │ └── usersModel.js ├── controllers │ ├── products.tsx │ └── users.tsx ├── db │ ├── mongodb.js │ ├── users.ts │ └── mysqldb.js ├── layout │ ├── TMCheckLayout.tsx │ ├── ServerSidePropsAuthorized.ts │ └── ServerSidePropsAdminAuthorized.ts ├── store │ ├── store.tsx │ └── reducer.tsx └── types │ ├── searchs.tsx │ ├── interface.tsx │ └── utils.tsx ├── .eslintrc.json ├── public ├── 01.png ├── 02.png ├── tm.ico ├── alert.png ├── bread.png ├── clock.png ├── nbn.png ├── shoes.png ├── dollar.png ├── google.png ├── message.gif ├── message.png ├── triple.png ├── typing.gif ├── typing2.gif ├── ww-logo.png ├── back-start.jpg ├── design-1.jpg ├── loading0.gif ├── loading1.gif ├── loading2.gif ├── loading3.gif ├── loading4.gif ├── loading5.gif ├── loading6.gif ├── loading7.gif ├── loading8.gif ├── no-avatar.png ├── see-this.jpg ├── see-this.png ├── start_back.jpg ├── back-image.avif ├── back-start-2.jpg ├── down-circle.png ├── syed-mosawi.png ├── blog-recent-2.jpg ├── blog-recent-3.jpg ├── code_developer.jpg ├── icons8-help-94.png ├── trademarktoday.ico ├── trademarktoday.png ├── icons8-popular-94.png ├── trademarktoday-badge.ico ├── trademarktoday_logo.png ├── vercel.svg ├── user-svgrepo-com.svg ├── play-video.svg ├── next.svg ├── exit-logout-svgrepo-com.svg ├── settings-cogwheel-svgrepo-com.svg └── tmchecker.svg ├── postcss.config.js ├── .env.example ├── .gitignore ├── tsconfig.json ├── next.config.mjs ├── tailwind.config.js ├── .all-contributorsrc ├── server.js ├── package.json └── README.md /src/css/tailwind/_base.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | -------------------------------------------------------------------------------- /src/css/tailwind/_components.css: -------------------------------------------------------------------------------- 1 | @tailwind components; 2 | -------------------------------------------------------------------------------- /src/css/tailwind/_utilities.css: -------------------------------------------------------------------------------- 1 | @tailwind utilities; 2 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /public/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/01.png -------------------------------------------------------------------------------- /public/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/02.png -------------------------------------------------------------------------------- /public/tm.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/tm.ico -------------------------------------------------------------------------------- /public/alert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/alert.png -------------------------------------------------------------------------------- /public/bread.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/bread.png -------------------------------------------------------------------------------- /public/clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/clock.png -------------------------------------------------------------------------------- /public/nbn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/nbn.png -------------------------------------------------------------------------------- /public/shoes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/shoes.png -------------------------------------------------------------------------------- /public/dollar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/dollar.png -------------------------------------------------------------------------------- /public/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/google.png -------------------------------------------------------------------------------- /public/message.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/message.gif -------------------------------------------------------------------------------- /public/message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/message.png -------------------------------------------------------------------------------- /public/triple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/triple.png -------------------------------------------------------------------------------- /public/typing.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/typing.gif -------------------------------------------------------------------------------- /public/typing2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/typing2.gif -------------------------------------------------------------------------------- /public/ww-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/ww-logo.png -------------------------------------------------------------------------------- /public/back-start.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/back-start.jpg -------------------------------------------------------------------------------- /public/design-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/design-1.jpg -------------------------------------------------------------------------------- /public/loading0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/loading0.gif -------------------------------------------------------------------------------- /public/loading1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/loading1.gif -------------------------------------------------------------------------------- /public/loading2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/loading2.gif -------------------------------------------------------------------------------- /public/loading3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/loading3.gif -------------------------------------------------------------------------------- /public/loading4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/loading4.gif -------------------------------------------------------------------------------- /public/loading5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/loading5.gif -------------------------------------------------------------------------------- /public/loading6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/loading6.gif -------------------------------------------------------------------------------- /public/loading7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/loading7.gif -------------------------------------------------------------------------------- /public/loading8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/loading8.gif -------------------------------------------------------------------------------- /public/no-avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/no-avatar.png -------------------------------------------------------------------------------- /public/see-this.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/see-this.jpg -------------------------------------------------------------------------------- /public/see-this.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/see-this.png -------------------------------------------------------------------------------- /public/start_back.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/start_back.jpg -------------------------------------------------------------------------------- /src/components/react-swipeable-views-react-18-fix.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'react-swipeable-views-react-18-fix'; -------------------------------------------------------------------------------- /public/back-image.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/back-image.avif -------------------------------------------------------------------------------- /public/back-start-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/back-start-2.jpg -------------------------------------------------------------------------------- /public/down-circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/down-circle.png -------------------------------------------------------------------------------- /public/syed-mosawi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/syed-mosawi.png -------------------------------------------------------------------------------- /public/blog-recent-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/blog-recent-2.jpg -------------------------------------------------------------------------------- /public/blog-recent-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/blog-recent-3.jpg -------------------------------------------------------------------------------- /public/code_developer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/code_developer.jpg -------------------------------------------------------------------------------- /public/icons8-help-94.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/icons8-help-94.png -------------------------------------------------------------------------------- /public/trademarktoday.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/trademarktoday.ico -------------------------------------------------------------------------------- /public/trademarktoday.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/trademarktoday.png -------------------------------------------------------------------------------- /public/icons8-popular-94.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/icons8-popular-94.png -------------------------------------------------------------------------------- /public/trademarktoday-badge.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/trademarktoday-badge.ico -------------------------------------------------------------------------------- /public/trademarktoday_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/imcrazysteven/Trade-Mark-Today/HEAD/public/trademarktoday_logo.png -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | 'postcss-import': {}, 4 | 'postcss-nesting':{}, 5 | tailwindcss: {}, 6 | autoprefixer: {}, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /src/pages/api/logout.ts: -------------------------------------------------------------------------------- 1 | 2 | import { Request, Response } from "express"; 3 | 4 | export default function handler(req: Request, res: Response) { 5 | // res.clearCookie('token').redirect('/') 6 | res.setHeader('Set-Cookie', 'token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;').redirect('/') 7 | } -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | NODE_ENV=development 2 | PORT=80 3 | MONGO_URI= 4 | GMAIL_USER= 5 | GMAIL_AUTH= 6 | NEXT_PUBLIC_CLIENT_ID= 7 | CLIENT_ID= 8 | NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY= 9 | stripeSecretKey= 10 | CLIENT_SECRET= 11 | NEXT_PUBLIC_REDIRECT_URI= 12 | REDIRECT_URI= 13 | NEXT_PUBLIC_GOOGLE_API_KEY='AIzaSyCfqtgxxZEmp4GpPw71497rpF4I9Y6jYh0' -------------------------------------------------------------------------------- /src/models/keywordsModel.js: -------------------------------------------------------------------------------- 1 | const mongoose = require("mongoose"); 2 | 3 | const keywordsSchema = new mongoose.Schema({ 4 | keyword: { 5 | type: String, 6 | required: true, 7 | }, 8 | }, 9 | { timestamps: false } 10 | ); 11 | const keywordsModel = mongoose.models.keywords || mongoose.model("keywords", keywordsSchema); 12 | 13 | export default keywordsModel -------------------------------------------------------------------------------- /src/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import { useRouter } from 'next/router'; 2 | import { useEffect, type ReactElement } from 'react' 3 | import TMCheckLayout from '../layout/TMCheckLayout'; 4 | 5 | const Index = () => { 6 | const router = useRouter(); 7 | 8 | useEffect(() => { 9 | router.push('/start'); 10 | }, []); 11 | 12 | return
This page will be redirected...
; 13 | } 14 | 15 | Index.getLayout = TMCheckLayout; 16 | 17 | export default Index; -------------------------------------------------------------------------------- /src/controllers/products.tsx: -------------------------------------------------------------------------------- 1 | import { Request, Response } from "express"; 2 | import productsModel from '@/models/productsModel'; 3 | 4 | export const find = async (req: Request, res: Response) => { 5 | const list = await productsModel.find(); 6 | res.status(200).json({ 7 | success: true, 8 | data: list, 9 | }); 10 | } 11 | 12 | export const insert = async (req: Request, res: Response) => { 13 | const user = await productsModel.create(req.body); 14 | res.status(201).json([user]) 15 | } -------------------------------------------------------------------------------- /src/pages/adminchat.tsx: -------------------------------------------------------------------------------- 1 | import TMCheckLayout from '../layout/TMCheckLayout'; 2 | import ChatAdmin from '@/components/ChatAdmin'; 3 | import ServerSidePropsAdminAuthorized from '@/layout/ServerSidePropsAdminAuthorized'; 4 | 5 | const AdminChat = ({ email }: { email: string }) => { 6 | return ( 7 | <> 8 |Tell me why I failed to pay.
15 |{title}
{/* whitespace-nowrap */} 33 |{msg}...
28 |{message}
15 |Example
21 | {img === "" ? 22 |Our automated search has found trade marks that you may consider before proceeding.
56 |Choose file or drag here
54 |Size limit: 10MB
55 |, IP = P> = NextPage
& { 12 | getLayout?: (page: ReactElement) => ReactNode 13 | } 14 | 15 | type AppPropsWithLayout = AppProps & { 16 | Component: NextPageWithLayout 17 | user?: string 18 | } 19 | 20 | function MyApp({ Component, pageProps }: AppPropsWithLayout) { 21 | // Use the layout defined at the page level, if available 22 | const getLayout = Component.getLayout || ((page) => page) 23 | 24 | const title = `Trademark Today Filing` 25 | const description = 'Trademarktoday supports free initial trade mark check in minutes and registration of your trademark for Australia. Please kick off the process of protecting your brand and have some fun while doing it!' 26 | const imageWidth = '1920' 27 | const imageHeight = '960' 28 | const url = 'https://trademarktoday-nextjs.vercel.app' 29 | const image = 'https://trademarktoday-nextjs.vercel.app/01.png' 30 | const [pinia, setPinia] = useState({}); 31 | 32 | useEffect(() => { 33 | const _pinia = JSON.parse(localStorage.getItem('pinia') as string); 34 | setPinia(_pinia); 35 | }, []) 36 | 37 | useEffect(() => { 38 | localStorage.setItem('pinia', JSON.stringify(pinia)); 39 | }, [pinia]) 40 | 41 | return ( 42 | <> 43 | { 44 | getLayout( 45 | (<> 46 |
47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |72 | Results from the free preliminary trade mark search cannot guarantee an outcome if you decide to apply. If you need assistance, consider chatting with one of our 73 | 74 | Australian registered trade marks attorney 75 | 76 | . 77 |
78 |83 | I have read the 84 | 85 | disclaimer 86 | 87 | and 88 | 89 | privacy notice 90 | . 91 |
92 |You must acknowledge you have read the disclaimer and privacy notice to continue.
} 94 |
31 |
34 | Trade Mark Today35 | |
36 |
46 | Verify your email 47 | address48 |Thanks for starting the new Trade Mark Today account creation 49 | process. We want 50 | to make sure it's really you. Please enter the following verification code when prompted. If 51 | you don’t want to create an account, you can ignore this message. 52 | 53 | |
54 |
|
58 | Verification code
59 | ${code}
60 | (This code is valid for 10 minutes)
61 | |
62 |
|
66 | Trade Mark Today™ will never email you and ask 67 | you to disclose or verify your password, credit card, or banking account number. 68 | |
69 |
|
80 | This message was produced and distributed by trademarktoday.com.au, Inc., Sydney, Australia. © 81 | 2022, Trade Mark Today., Inc. All rights reserved. 82 | Trade Mark Today is just now not a 83 | registered 84 | Trade Mark Today™, 85 | Inc. View our privacy policy 86 | |
87 |
{title}
25 |{msg}
26 |This process should take a couple of minutes to complete.
65 |Sign up with Trade Mark Today
71 |Trade mark owner details
77 |Payment method
83 |89 | For more information, read our 90 | 91 | FAQ on applying. 92 | 93 |
94 |I acknowledge that the outcome of this application will be determined by the Examiner at IP Australia
103 |You must acknowledge your understanding to continue.
} 105 |{description}
29 |{feeType}
} 36 | {fee &&{fee}
} 37 |The results of your free check need to be reviewed by an examiner to assess whether your request meets certain legal requirements that are described in the Trade Marks Act 1995.
54 |They'll reach out within 5 working days. If there are issues, the examiner will let you know your options for fixing them.
56 | > 57 | } 58 | /> 59 | *Examination
65 | During the Examination period, the Examiner may issue an Adverse Examination Report. If an Adverse Report is issued, further costs will be incurred for reporting and filing a response. The costs can vary, depending on the type and number of objections.
66 |
International agreements require us to ensure people who file a trade mark in participating countries have six months to apply in Australia. While it is rare for a similar trade mark to be filed during the same time period, the agreements help protect business operators from potential IP Rights conflicts.
76 |Each trade mark undergoes a two-month opposition period where others can challenge its registration. Refer to frequently asked questions for additional details.
78 | > 79 | } 80 | /> 81 |Once registered you can add the registered symbol to all instances of your trade mark. You can legally challenge comparable marks with similar goods and services. It is your responsibility to enforce your rights and use your trade mark correctly on the goods and services you listed for registration.
87 | > 88 | } 89 | /> 90 |{msg}
49 | {children} 50 |{msg}
162 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
24 | Trademarktoday supports free initial trade mark check in minutes and registration of your trademark for Australia. Please kick off the process of protecting your brand and have some fun while doing it!
25 |
26 | This project is maintained by @imcrazysteven
27 |
28 | Don't forget to star ⭐ this repository.
29 |
30 | Explore the docs »
31 |
32 |
33 | Visit Site
34 | ·
35 | Report Bug
36 | ·
37 | Request Feature
38 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
71 |
72 |
73 |
74 |
75 |
76 |
Steven Leal 💻 🖋 📖 🔣 💡 🤔 📆 👀 🔧 ✅ 📹 |
145 | Epic Dev 💻 🖋 📖 🔣 💡 🤔 📆 👀 🔧 ✅ 📹 |
146 |
Your trade mark may contain some of the following:
111 |Make sure your trade mark contains something unique that other people in your industry would not need to use. You can still apply if you feel like your trade mark is distinctive enough. 117 | 118 | Read more about distinctiveness. 119 | 120 |
121 |Help video
124 | 128 |We found 20 matches that may be similar to yours.
143 |Check if these are similar in terms of:
165 |You can still apply if you believe your trade mark and your goods and or services are distinguishable from those identified in the search result.
171 |
172 |
173 | Read more about similarity.
174 |
175 |
Help video
179 | 183 |