Skip to content

v1.0.0

Latest
Compare
Choose a tag to compare
@Clumsy-Coder Clumsy-Coder released this 26 Feb 17:01
· 11 commits to main since this release

1.0.0 (2024-2-26)

✨ Features

  • actions: add server action for fetching a single exercise using exerciseId (054de4d)
  • actions: add server action for fetching all exercises (3fad3b4), closes #22
  • actions: add server action for fetching exercise body part list (04167b5), closes #67
  • actions: add server action for fetching exercise equipment list (687cf53), closes #22
  • actions: add server action for fetching exercise target list (c040abb), closes #22
  • actions: add server action for fetching exercises by body part (4e4f789), closes #67
  • actions: add server action for fetching exercises by equipment (027d753)
  • actions: add server action for fetching exercises by target (43177b2), closes #68
  • api:exercises:bodyParts: add endpoint for fetching body part list (e5e1a9a), closes #67
  • api:exercises:bodyParts: add endpoint for fetching exercises by bodyPart (a424ff1), closes #67
  • api:exercises:equipments: add endpoint for fetching a single exercise by equipment (213fe96), closes #66
  • api:exercises:targets: add endpoint for fetching exercises by target (de5b268), closes #68
  • api: add endpoint for fetching equipment list (8195a17)
  • api: add endpoint for fetching target list (67aec4a)
  • api: add endpoint for fetching a single exercise using exerciseId (42cd880), closes #56
  • api: add endpoint for fetching all exercises (553d78c)
  • app:layout: add ThemeProvider to NextJS app (42b37b5), closes #15
  • components:exerciseGroup: add ability to search exercises (e13d98f)
  • components:exercisesGroup: add basic pagination (83dbd1f)
  • components:exercisesGroup: add clear button for search input (7b2be56)
  • components:navbar: add Drawer for smaller screens (42ebd27), closes #19
  • components:navbar: hide nav links in smaller screen (2f752b9), closes #19
  • components:theme: add component darkmode-toggle (ccf24a8), closes #15
  • components:theme: add theme-provider component (c0597ae), closes #15
  • components: add Footer component (b90cdf3)
  • components: add component ExerciseCard (12bb5ad)
  • components: add component ExercisesGroup (686ce16)
  • components: add navbar component (17756b1), closes #17
  • layout:exercises: add layout for /exercises page (461730f)
  • page:exerciseId: add error handling for invalid exerciseId (74561c9), closes #56
  • page:exerciseId: add page for /exercises/[exerciseId] (45cd5c3), closes #56
  • page:exerciseId: display gif in a model when clicking on gif (108144b), closes #56
  • page:exercises:bodyParts: add page for /exercises/body-parts/[bodyPart] (8c8c65e), closes #67
  • page:exercises:equipments: add page for /exercises/equipments/[equipment] (ca757a5)
  • page:exercises:targets: add page for /exercises/targets/[target] (8026c99), closes #68
  • page:exercises: add component to render exercises by links (ed72733)
  • page:exercises: display exercise body part list (4b62ba7), closes #67
  • page:exercises: display exercise equipment list (dcc2728), closes #22
  • page:exercises: display exercise name and id (9f649c1), closes #22
  • page:exercises: display exercise target list (92b9096), closes #22
  • page:exercises: display links for exercise by target and equipment on larger screens (93d9649)
  • page:exercises: display links for exercises by target and equipment using Accordion on smaller screens (7d8ca92)
  • page:exercises: render ExercisesGroups component (4cc99d9), closes #22
  • page:home: add content for home page (ba187e3), closes #90
  • page:home: add darkmode toggle (ffda14d), closes #15

🐛 Bug Fixes

  • workflows: using ENV for jq when extracting container ID (50e53a3)

📚 Documentation

  • components:exercisesGroup: add docs for ExercisesGroup component (138237b)
  • docs:images: add screenshots for Exercise ID page (c227748)
  • docs:images: add screenshots for Exercises page (9dd380c)
  • docs:images: add screenshots for Home page (5798277)
  • readme: display screenshots of Exercise Id page (ce9fce1)
  • readme: display screenshots of Exercises page (b36d8fa)
  • readme: display screenshots of Home page (41c48f2)

💄 Styles

  • components:exerciseCard: add a gap between exercise name and navigate button (37c3f6d)
  • components:exerciseCard: add ability to extend ExerciseCard component (d257bda)
  • components:exerciseCard: remove ring tailwindcss class on hover (50675b3)
  • components:exercisesGroups: remove width style for search input (24f46a5)
  • components:navbar: format code (6b4486a)
  • css: add class input-with-clear-button (e96cc59)
  • css: add custom tailwind classes (708f2ea)
  • format code (4c05aa3)
  • format code (ea2b4f9)
  • layout: reorder imports (738e8a5)

🐙 Miscellaneous Chores

  • add site config (5540f8b)
  • api:url: add function to get equipment list url (acc7c7c)
  • api:url: add function to get single exercise url (f44b451)
  • api:url: add function to get target list url (ee1f15e)
  • api:url: add function to get all exercises (7e44cbf)
  • components:error: add Error component (95ee676)
  • components:exerciseCard: remove unused code (10cf536)
  • components: add ReactQueryClientProvider component (553a016)
  • data: add all body part types (cce0e4f)
  • data: add all equipment types (19d4104)
  • data: add all target types (8b5bbf2)
  • data: add all exercises data (22676a7)
  • git: add git attribute to ignore exerciseDB from being committed (da701d4)
  • gitignore: add .env* to gitignore (41b0f3a)
  • gitignore: add vercel.json to gitignore (50f6aa3)
  • hooks: add react-query hook to fetch a single exercise using exerciseId (83a1ec2)
  • hooks: add react-query hook to fetch all exercises (a09c605)
  • hooks: add react-query hook to fetch exercise target list (3ceb95c)
  • hooks: add react-query hook to fetch exercise body part list (5544e44), closes #67
  • hooks: add react-query hook to fetch exercise equipment list (228ba1a)
  • hooks: add react-query hook to fetch exercises by body part (91f6c4e)
  • hooks: add react-query hook to fetch exercises by equipment (c77857c)
  • hooks: add react-query hook to fetch exercises by target (8795954)
  • layout:exerciseId: add layout for /exercises/[exerciseId] page (a462994)
  • layout:exercises:bodyParts: add layout for /exercises/body-parts/[bodyPart] page (2e011ee)
  • layout:exercises:equipments: add layout for /exercises/equipments/[equipment] page (1e19047)
  • layout:exercises:exerciseId: add metadata for /exercises/[exerciseId] page (a9b7157)
  • layout:exercises:targets: add layout for /exercises/targets/[target] page (aa29bd9)
  • layout:exercises: add metadata for /exercises page (5f3b660)
  • layout:exercises: prefetch from /api/exercises/equipments (00a5ffe)
  • layout:exercises: prefetch from /api/exercises/targets (109d5ce)
  • layout:home: use custom favicon (50adcad)
  • layout: add property suppressHydrationWarning (9cc1197)
  • layout: add react-query to NextJS (55eff22)
  • layout: add vercel analytics (4f68876)
  • layout: display Footer component (0c15d2f)
  • layout: render navbar component (5ef7bbd), closes #17
  • loading:exercises:bodyParts: add Loading component for /exercises/body-parts/[bodyPart] page (1196343)
  • loading:exercises:targets: add Loading component for /exercises/targets/[target] page (ba3ce79)
  • loading:home: add Loading component for / page (85ad6aa)
  • page:exerciseId: add Loading component for /exercises/[exerciseId] page (f4070ba)
  • page:exerciseId: display Loading component when fetching data (9473f5d)
  • page:exercises:equipments: add Loading component for /exercises/equipments/[equipment] page (fdcaf25)
  • page:exercises:exerciseId: remove unused code (05c6440)
  • page:exercises: add Loading component for Exercises page (179d125)
  • page:exercises: display Loading component when fetching data (dfdc014)
  • page:home: display ENVs (ea8ecdf)
  • project init (4e22a1c)
  • public: add exercise gifs (125ff3d)
  • public: add favicons (afd803c)
  • release: 1.0.0-development.1 [skip ci] (bd7569e), closes #15 #15 #15 #15 #15
  • release: 1.0.0-development.10 [skip ci] (6390ba2), closes #67 #67 #67 #67 #67 #67 #67
  • release: 1.0.0-development.11 [skip ci] (06e4a43), closes #90
  • release: 1.0.0-development.2 [skip ci] (438a2e7), closes #17 #17 github.com/shadcn-ui/taxonomy/blob/651f984e52edd65d40ccd55e299c1baeea3ff017/types/index.d.ts#L30-L39
  • release: 1.0.0-development.3 [skip ci] (74aa3b6)
  • release: 1.0.0-development.4 [skip ci] (63e90ea), closes #19 #19
  • release: 1.0.0-development.5 [skip ci] (2393577), closes #22 #22 #22 #22 #22 #22 #22
  • release: 1.0.0-development.6 [skip ci] (6e031ac), closes #56 #56 #56 #56
  • release: 1.0.0-development.7 [skip ci] (09dde1b)
  • release: 1.0.0-development.8 [skip ci] (c810f10), closes #66
  • release: 1.0.0-development.9 [skip ci] (78995d1), closes #68 #68 #68
  • remove old favicon (001dd67)
  • schema: add schema for /api/exercises/[exerciseId] (346d961)
  • schema: add schema for /api/exercises/equipments/[equipment] (083cace)
  • schema: add schema for /exercises/body-parts/[bodyPart] (a6f508d)
  • schema: add schema for /exercises/targets/[target] (1c30973)
  • types: add type for nav link (4b00b40)
  • types: add type for NextJS envs (9da6dc5)
  • types: add type for site config (b77f319), closes /github.com/shadcn-ui/taxonomy/blob/651f984e52edd65d40ccd55e299c1baeea3ff017/types/index.d.ts#L30-L39
  • types: add type for upstream API (981e1ae)
  • utils:links: add link Exercises (370693c)
  • utils: add a list of popular exercises (986a9a8)
  • yamllint: add yamllint config (86b8609)
  • yamllint: ignore line length (06607a9)

♻️ Code Refactoring

  • api:exercise:equipments: use local data to fetch equipment list (5ed95da)
  • api:exerciseId: use local data for fetching an exercise with exerciseId (72d3f90)
  • api:exercises:targets: use local data to fetch target list (afdb953)
  • api:exercises: set limit when fetching all exercises (d6a2b0a)
  • api:exercises: use local data for all exercises (df986bc)
  • api:url: increase number of elements returned for all exercises (35628a3)
  • api:url: rename function fetchAllExercises to fetchAllExercisesUrl (b2a63f3)
  • components:exerciseCard: fix url to target and equipment page (a48589d)
  • components:exercisesGroup: use constant when setting showLimit (945cc0f)
  • layout:home: update metadata (60a5f72)
  • page:exercises:exercised: fix url for bodyPart (91703fd)
  • page:exercises: use component ExercisesBy for rendering exercises by target and equipment links (eb779a2)
  • use gif from public folder (eb6cffc)
  • utils: move links array to utils/index.ts (5c8a9a0)

📦 Build System

  • add script for generating ENVs (50622e5)
  • add shadcn-ui (54000ca)
  • api: add headers for fetching ExerciseDB (4340ba2)
  • deps: bump @tanstack/react-query from 5.21.7 to 5.22.2 (d950cde)
  • deps: bump @tanstack/react-query from 5.22.2 to 5.24.1 (7693f23)
  • deps: bump @tanstack/react-query-devtools from 5.17.21 to 5.21.3 (b657c48)
  • deps: bump @tanstack/react-query-devtools from 5.21.3 to 5.21.7 (816f647)
  • deps: bump @tanstack/react-query-devtools from 5.21.7 to 5.24.0 (237370b)
  • deps: bump @tanstack/react-query-devtools from 5.24.0 to 5.24.1 (f4c250b)
  • deps: bump @vercel/analytics from 1.1.1 to 1.1.2 (29258e6)
  • deps: bump @vercel/analytics from 1.1.2 to 1.1.3 (118ef7d)
  • deps: bump @vercel/analytics from 1.1.3 to 1.2.0 (6c04a6b)
  • deps: bump @vercel/analytics from 1.2.0 to 1.2.1 (b3ac89f)
  • deps: bump @vercel/analytics from 1.2.1 to 1.2.2 (8c9d079)
  • deps: bump lucide-react from 0.314.0 to 0.315.0 (7e13623)
  • deps: bump lucide-react from 0.315.0 to 0.316.0 (24180b9)
  • deps: bump lucide-react from 0.316.0 to 0.317.0 (917382a)
  • deps: bump lucide-react from 0.317.0 to 0.319.0 (a9123f4)
  • deps: bump lucide-react from 0.319.0 to 0.320.0 (85ca6ef)
  • deps: bump lucide-react from 0.320.0 to 0.321.0 (3fcf155)
  • deps: bump lucide-react from 0.321.0 to 0.323.0 (cf535c4)
  • deps: bump lucide-react from 0.323.0 to 0.325.0 (9bce927)
  • deps: bump lucide-react from 0.325.0 to 0.330.0 (1d9be42)
  • deps: bump lucide-react from 0.330.0 to 0.331.0 (4247602)
  • deps: bump lucide-react from 0.331.0 to 0.334.0 (904c9d9)
  • deps: bump lucide-react from 0.334.0 to 0.335.0 (dd1b8f0)
  • deps: bump lucide-react from 0.335.0 to 0.336.0 (7f408e0)
  • deps: bump lucide-react from 0.336.0 to 0.340.0 (189ccab)
  • deps: bump next from 14.0.4 to 14.1.0 (cfeafc6)
  • deps: bump tailwind-merge from 2.2.0 to 2.2.1 (4c3f4b0)
  • deps: bump vaul from 0.8.9 to 0.9.0 (b1f8870)
  • devDep: bump @types/node from 20.11.10 to 20.11.13 (71152b3)
  • devDep: bump @types/node from 20.11.13 to 20.11.14 (3bd1401)
  • devDep: bump @types/node from 20.11.14 to 20.11.16 (89c2933)
  • devDep: bump @types/node from 20.11.16 to 20.11.17 (6fdb098)
  • devDep: bump @types/node from 20.11.17 to 20.11.19 (677f376)
  • devDep: bump @types/node from 20.11.19 to 20.11.20 (47e9931)
  • devDep: bump @types/node from 20.11.4 to 20.11.5 (87ed426)
  • devDep: bump @types/node from 20.11.5 to 20.11.6 (fe64b68)
  • devDep: bump @types/node from 20.11.6 to 20.11.10 (3e856a6)
  • devDep: bump @types/react from 18.2.48 to 18.2.51 (ceb80ae)
  • devDep: bump @types/react from 18.2.51 to 18.2.53 (7154de1)
  • devDep: bump @types/react from 18.2.53 to 18.2.54 (84d949d)
  • devDep: bump @types/react from 18.2.54 to 18.2.55 (05c1bb1)
  • devDep: bump @types/react from 18.2.55 to 18.2.57 (c66cc22)
  • devDep: bump @types/react from 18.2.57 to 18.2.58 (70840c2)
  • devDep: bump @types/react-dom from 18.2.18 to 18.2.19 (6a1e723)
  • devDep: bump @typescript-eslint/eslint-plugin (df1b846)
  • devDep: bump @typescript-eslint/eslint-plugin (db08eda)
  • devDep: bump @typescript-eslint/eslint-plugin (07cc81c)
  • devDep: bump @typescript-eslint/parser from 6.19.0 to 6.19.1 (0f6ce83)
  • devDep: bump @typescript-eslint/parser from 6.19.1 to 6.20.0 (acc26a5)
  • devDep: bump @typescript-eslint/parser from 6.20.0 to 6.21.0 (e03b3f2)
  • devDep: bump autoprefixer from 10.4.16 to 10.4.17 (1ae4631)
  • devDep: bump eslint from 8.56.0 to 8.57.0 (ee9bf2c)
  • devDep: bump eslint-config-next from 14.0.4 to 14.1.0 (5a4326d)
  • devDep: bump postcss from 8.4.33 to 8.4.34 (1fd22f5)
  • devDep: bump postcss from 8.4.34 to 8.4.35 (94ed288)
  • devDep: bump prettier from 3.2.2 to 3.2.4 (787f14b)
  • devDep: bump prettier from 3.2.4 to 3.2.5 (2196148)
  • devDep: bump semantic-release from 23.0.0 to 23.0.1 (ccd2a21)
  • devDep: bump semantic-release from 23.0.1 to 23.0.2 (72fa062)
  • devDep: bump tailwindcss from 3.4.0 to 3.4.1 (ff26f39)
  • editorconfig: add config file (241bbdb)
  • env: change filename for env being generated (33e8e57)
  • env: check git status when setting ENV BUILD_VERSION (cefa449)
  • env: provide BUILD_VERSION depending on build environment (445e776)
  • eslint: add airbnb eslint rules (085eb32)
  • eslint: add eslint-plugin-react to eslint (ecae22e)
  • eslint: add eslint-plugin-tsdoc to eslint (b58a822)
  • eslint: add parserOptions (0c5e3eb)
  • eslint: add custom rules (c4051df)
  • eslint: add eslint typescript (78417e2)
  • eslint: add ignorefile (fd663ce)
  • eslint: disable eslint rules (750f6e6)
  • eslint: extend eslint-config-prettier rules (9b526db)
  • eslint: extend eslint-plugin-prettier rules (86cc9d6)
  • eslint: mark prettier/prettier as eslint warnings (a85fef9)
  • nextjs: add cross origin url to fetch exercise GIFs (65c491c)
  • nextjs: enable detail logging in dev mode (c6a92ac)
  • nextjs: set build output to standalone (b3104de)
  • npm: add npm script for prettier (4b2447a)
  • npm: add npm scripts (e1a6d10)
  • npm: add package "lucide-react" (b928855)
  • npm: add package @tanstack/react-query-devtools (880c84c)
  • npm: add package @tanstack/react-query (264f1e2)
  • npm: add package @vercel/analytics (e1f0880)
  • npm: add package axios (1f1a84d)
  • npm: add package eslint-config-prettier (5a5b65f)
  • npm: add package eslint-plugin-prettier (88a366b)
  • npm: add package eslint-plugin-tsdoc (444e38a)
  • npm: add package moment (36cc335)
  • npm: add package next-themes (2d28220), closes #15
  • npm: add package prettier-plugin-tailwindcss (3a670a3)
  • npm: add package prettier (a8511fd)
  • npm: add package zod (e91b89a)
  • npm: add packages for airbnb eslint (e9fdd9e)
  • npm: add packages for semantic-release (cadd241)
  • npm: add packages for typescript-eslint (0508bd9)
  • npm: change npm script dev to run dev server (ec16113)
  • npm: upgrade package tailwindcss to v3.4.0 (33af095)
  • prettier: add config files (8604f02)
  • prettier: add plugin prettier-plugin-tailwindcss (935518e)
  • shadcn: add component Accordion (a3a6aa2)
  • shadcn: add component Badge (d49f124)
  • shadcn: add component Button (c7a93f0)
  • shadcn: add component Card (7f29d11)
  • shadcn: add component Dialog (dbdc42f)
  • shadcn: add component Drawer (f1a4d94)
  • shadcn: add component Dropdown-menu (04912f3)
  • shadcn: add component Input (8fb5848)
  • shadcn: add component Separator (bd90ae7)
  • shadcn: add component Skeleton (293fbe0)
  • shadcn: add component Tooltip (c6fc94e)
  • tailwind: add some custom colours (5028a69)
  • typescript: add next.config.js to includes (f2cc4e2)
  • typescript: exclude .next/ folder (4f1d112)

👷 Continuous Integration

  • action:dependabot: add dependabot automerge workflow (5031aab)
  • dependabot: add config file (b915457)
  • docker: add dockerfile (6f64df6)
  • docker: add dockerignore file (ea0273f)
  • github-action: bump actions/cache from 3 to 4 (9001862)
  • github-action: bump actions/delete-package-versions from 4 to 5 (5190443)
  • github-action: bump docker/metadata-action from 5.5.0 to 5.5.1 (e17a7ed)
  • semantic-release: add config file (cf5fb37)
  • template: add bug report template (59632d4)
  • template: add feature request template (98d168b)
  • template: add pull request template (8a4542f)
  • workflows:cleanup: segment getting all container ID and filtering by branchname (856d733)
  • workflows: add env EXERCISE_DB_API when building docker image (89c94a4)
  • workflows: add github action workflow reusable-docker-build (c824c0d)
  • workflows: add job docker-build-image for workflow build.yaml (77fbddc)
  • workflows: add job install for workflow build.yaml (0207eb1)
  • workflows: add job lint for workflow build.yaml (ad374d1)
  • workflows: add job matrix-results for workflow build.yaml (86cd58f)
  • workflows: add job prepare-docker-build for workflow build.yaml (d05b97f)
  • workflows: add job semantic-release for workflow build.yaml (d180bb2)
  • workflows: add workflow cleanup-docker-image (8b56165)
  • workflows: add workflow codeql (8bb1392)
  • workflows: dispatch cleanup-docker-image manually (f4119a9)
  • workflows: ignore error when removing untagged docker images (7c03e74)
  • workflows: print api rate limit before running semantic-release (162bcf6)
  • workflows: print the all docker image versions when cleaning up docker image (ffac65e)
  • workflows: push docker image with tagname latest on main branch (b12ed9e)
  • workflows: store github_token in an env (5b36682)
  • workflows: update CodeQL config (25a7f39)
  • workflows: use SEMANTIC_RELEASE_TOKEN for job semantic-release (0a5286c)
  • workflows: use bash style env for HEAD_REF (b3738f5)
  • workflows: use bash style env for VERSION_ID (e8f8409)
  • workflows: use bash style env for PACKAGE_NAME (c7968e4)