├── .env.example ├── .eslintignore ├── .eslintrc.json ├── .github └── workflows │ └── node.js.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.json ├── LICENSE ├── README.md ├── client ├── .gitignore ├── .storybook │ ├── main.js │ └── preview.js ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt ├── src │ ├── App.test.tsx │ ├── App.tsx │ ├── GlobalStyle.tsx │ ├── api │ │ ├── shorties.ts │ │ ├── subscriptions.ts │ │ └── utils.ts │ ├── assets │ │ └── logo.svg │ ├── components │ │ ├── AppHeader.tsx │ │ ├── ErrorMessage.tsx │ │ ├── InsertShorty.tsx │ │ ├── LocaleSelect.tsx │ │ ├── ShortiesTable.tsx │ │ └── Subscription.tsx │ ├── contexts │ │ ├── de.json │ │ ├── en.json │ │ └── i18n.tsx │ ├── hooks │ │ ├── useBroadcastUpdate.ts │ │ └── useSubscription.ts │ ├── index.tsx │ ├── logo.svg │ ├── pages │ │ └── Shorties.tsx │ ├── react-app-env.d.ts │ ├── reportWebVitals.ts │ ├── service-worker.ts │ ├── serviceWorkerRegistration.ts │ └── setupTests.ts └── tsconfig.json ├── lib ├── database.ts ├── middlewares.ts ├── routes.ts ├── shorties.ts └── subscriptions.ts ├── nodemon.json ├── package.json ├── server.ts ├── tsconfig.json └── types ├── shorties.ts └── subscriptions.ts /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.github/workflows/node.js.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/.github/workflows/node.js.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Ignore artifacts: 2 | build/ 3 | dist/ 4 | coverage/ 5 | storybook-static/ -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/README.md -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/.gitignore -------------------------------------------------------------------------------- /client/.storybook/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/.storybook/main.js -------------------------------------------------------------------------------- /client/.storybook/preview.js: -------------------------------------------------------------------------------- 1 | export const parameters = { 2 | actions: { argTypesRegex: "^on[A-Z].*" }, 3 | }; 4 | -------------------------------------------------------------------------------- /client/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/package-lock.json -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/package.json -------------------------------------------------------------------------------- /client/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/public/favicon.ico -------------------------------------------------------------------------------- /client/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/public/index.html -------------------------------------------------------------------------------- /client/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/public/logo192.png -------------------------------------------------------------------------------- /client/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/public/logo512.png -------------------------------------------------------------------------------- /client/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/public/manifest.json -------------------------------------------------------------------------------- /client/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/public/robots.txt -------------------------------------------------------------------------------- /client/src/App.test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/App.test.tsx -------------------------------------------------------------------------------- /client/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/App.tsx -------------------------------------------------------------------------------- /client/src/GlobalStyle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/GlobalStyle.tsx -------------------------------------------------------------------------------- /client/src/api/shorties.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/api/shorties.ts -------------------------------------------------------------------------------- /client/src/api/subscriptions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/api/subscriptions.ts -------------------------------------------------------------------------------- /client/src/api/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/api/utils.ts -------------------------------------------------------------------------------- /client/src/assets/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/assets/logo.svg -------------------------------------------------------------------------------- /client/src/components/AppHeader.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/components/AppHeader.tsx -------------------------------------------------------------------------------- /client/src/components/ErrorMessage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/components/ErrorMessage.tsx -------------------------------------------------------------------------------- /client/src/components/InsertShorty.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/components/InsertShorty.tsx -------------------------------------------------------------------------------- /client/src/components/LocaleSelect.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/components/LocaleSelect.tsx -------------------------------------------------------------------------------- /client/src/components/ShortiesTable.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/components/ShortiesTable.tsx -------------------------------------------------------------------------------- /client/src/components/Subscription.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/components/Subscription.tsx -------------------------------------------------------------------------------- /client/src/contexts/de.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/contexts/de.json -------------------------------------------------------------------------------- /client/src/contexts/en.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/contexts/en.json -------------------------------------------------------------------------------- /client/src/contexts/i18n.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/contexts/i18n.tsx -------------------------------------------------------------------------------- /client/src/hooks/useBroadcastUpdate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/hooks/useBroadcastUpdate.ts -------------------------------------------------------------------------------- /client/src/hooks/useSubscription.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/hooks/useSubscription.ts -------------------------------------------------------------------------------- /client/src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/index.tsx -------------------------------------------------------------------------------- /client/src/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/logo.svg -------------------------------------------------------------------------------- /client/src/pages/Shorties.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/pages/Shorties.tsx -------------------------------------------------------------------------------- /client/src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /client/src/reportWebVitals.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/reportWebVitals.ts -------------------------------------------------------------------------------- /client/src/service-worker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/service-worker.ts -------------------------------------------------------------------------------- /client/src/serviceWorkerRegistration.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/serviceWorkerRegistration.ts -------------------------------------------------------------------------------- /client/src/setupTests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/src/setupTests.ts -------------------------------------------------------------------------------- /client/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/client/tsconfig.json -------------------------------------------------------------------------------- /lib/database.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/lib/database.ts -------------------------------------------------------------------------------- /lib/middlewares.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/lib/middlewares.ts -------------------------------------------------------------------------------- /lib/routes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/lib/routes.ts -------------------------------------------------------------------------------- /lib/shorties.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/lib/shorties.ts -------------------------------------------------------------------------------- /lib/subscriptions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/lib/subscriptions.ts -------------------------------------------------------------------------------- /nodemon.json: -------------------------------------------------------------------------------- 1 | { 2 | "ignore": ["client/*"] 3 | } 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/package.json -------------------------------------------------------------------------------- /server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/server.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/shorties.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/types/shorties.ts -------------------------------------------------------------------------------- /types/subscriptions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lmachens/shorty/HEAD/types/subscriptions.ts --------------------------------------------------------------------------------