Releases
v1.0.0
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 )
You can’t perform that action at this time.