From c560ea69413f16510991e94ff6e9f68939bebbec Mon Sep 17 00:00:00 2001 From: Daniel <70107167+Programador-jr@users.noreply.github.com> Date: Tue, 13 Oct 2026 08:08:09 -0500 Subject: [PATCH 1/6] docs: align README with production and v2.3.0 --- README.md | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 7b1769b..4c1cdf7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # MuscleLib API -![Version](https://img.shields.io/badge/version-2.1.0-orange.svg) ![Node.js](https://img.shields.io/badge/node.js-%3E%3D20%20%3C23-green.svg) ![License](https://img.shields.io/badge/license-MIT-blue.svg) +![Version](https://img.shields.io/badge/version-2.3.0-orange.svg) ![Node.js](https://img.shields.io/badge/node.js-%3E%3D20%20%3C23-green.svg) ![License](https://img.shields.io/badge/license-MIT-blue.svg) ## About @@ -36,10 +36,25 @@ Search uses **fuzzy matching** via Fuse.js, so you don't need exact spelling. Fi ## Base URL ``` -https://musclelib-api.vercel.app +https://libapi.vercel.app ``` -> All endpoints below use this base URL. Replace with `http://localhost:5000` for local development. +> All production examples use this verified production URL. For local development, set `PORT=5000` in your `.env` file and use `http://localhost:5000`. The server reads its port from `process.env.PORT` and does not define a default port. + +## Local Development + +The application loads environment variables from `.env`. At minimum, configure `PORT`, `MONGODB_URI`, `MONGODB_NAME`, and `DOCS` before starting the server. Example local port configuration: + +```dotenv +PORT=5000 +``` + +Install dependencies and start the development server: + +```bash +npm ci +npm run dev +``` ## API Endpoints @@ -100,7 +115,7 @@ Likewise, send `page` and `limit` at most once each. A repeated `page` or `limit **Example:** ```bash -curl "https://musclelib-api.vercel.app/api/exercises?lang=en&page=0&limit=5&force=pull" +curl "https://libapi.vercel.app/api/exercises?lang=en&page=0&limit=5&force=pull" ``` **Response (200):** @@ -135,7 +150,7 @@ curl "https://musclelib-api.vercel.app/api/exercises?lang=en&page=0&limit=5&forc **Response (400 — unsupported query parameter):** ```bash -curl "https://musclelib-api.vercel.app/api/exercises?muscle=chest" +curl "https://libapi.vercel.app/api/exercises?muscle=chest" ``` ```json { @@ -179,7 +194,7 @@ import scripts in other processes become visible through expiration. **Example:** ```bash -curl "https://musclelib-api.vercel.app/api/exercises/search?query=squat&lang=en" +curl "https://libapi.vercel.app/api/exercises/search?query=squat&lang=en" ``` **Response (200):** @@ -224,7 +239,7 @@ Returns all available filter values aggregated from the database. **Example:** ```bash -curl "https://musclelib-api.vercel.app/api/exercises/filters?lang=en" +curl "https://libapi.vercel.app/api/exercises/filters?lang=en" ``` **Response (200):** @@ -259,7 +274,7 @@ Serves an exercise image directly. Each exercise has two images (`0.jpg` and `1. **Example:** ```bash -curl "https://musclelib-api.vercel.app/api/exercises/Barbell_Curl/0.jpg" -o image.jpg +curl "https://libapi.vercel.app/api/exercises/Barbell_Curl/0.jpg" -o image.jpg ``` **Response:** JPEG image (200) or JSON error (400). @@ -276,7 +291,7 @@ Returns total exercise and image counts. **Example:** ```bash -curl "https://musclelib-api.vercel.app/stats" +curl "https://libapi.vercel.app/stats" ``` **Response (200):** From f58a2b103d8503749d52426095b454f9d1cee61e Mon Sep 17 00:00:00 2001 From: Daniel <70107167+Programador-jr@users.noreply.github.com> Date: Tue, 13 Oct 2026 08:08:13 -0500 Subject: [PATCH 2/6] chore: prepare API v2.3.0 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 4d7fc24..de3689e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "musclelib-api", - "version": "2.2.0", + "version": "2.3.0", "description": "MuscleLib API is a RESTful API for searching exercises, with support for multiple languages and pagination. It was built using Node.js and Express.js, and it uses a MongoDB database.", "main": "server/start.js", "scripts": { @@ -61,4 +61,4 @@ "url": "https://github.com/MuscleLib/musclelib-api/issues" }, "homepage": "https://github.com/MuscleLib/musclelib-api" -} \ No newline at end of file +} From a5f7a17696981aec0657d851193edae9d22233d8 Mon Sep 17 00:00:00 2001 From: Daniel <70107167+Programador-jr@users.noreply.github.com> Date: Tue, 13 Oct 2026 08:08:17 -0500 Subject: [PATCH 3/6] chore: align lockfile version to v2.3.0 --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4ae352c..1e7c5af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "musclelib-api", - "version": "2.2.0", + "version": "2.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "musclelib-api", - "version": "2.1.0", + "version": "2.3.0", "license": "MIT", "dependencies": { "axios": "^1.16.1", From effe1aabdc19a335a926d3884778c55704942a44 Mon Sep 17 00:00:00 2001 From: Daniel <70107167+Programador-jr@users.noreply.github.com> Date: Tue, 13 Oct 2026 08:08:30 -0500 Subject: [PATCH 4/6] docs: reflect supported Node.js runtime --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4c1cdf7..4746161 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # MuscleLib API -![Version](https://img.shields.io/badge/version-2.3.0-orange.svg) ![Node.js](https://img.shields.io/badge/node.js-%3E%3D20%20%3C23-green.svg) ![License](https://img.shields.io/badge/license-MIT-blue.svg) +![Version](https://img.shields.io/badge/version-2.3.0-orange.svg) ![Node.js](https://img.shields.io/badge/node.js-%3E%3D20%20%3C25-green.svg) ![License](https://img.shields.io/badge/license-MIT-blue.svg) ## About From e344693ff3acf064d5c084e860bf0df50fc3a894 Mon Sep 17 00:00:00 2001 From: Daniel <70107167+Programador-jr@users.noreply.github.com> Date: Tue, 13 Oct 2026 08:08:33 -0500 Subject: [PATCH 5/6] chore: align Node engine with Vercel runtime --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index de3689e..bfd1fd1 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "walk-up-path": "^4.0.0" }, "engines": { - "node": ">=20 <23" + "node": ">=20 <25" }, "devDependencies": { "@eslint/js": "^10.0.1", From 754e314f09106a7389ac9d2106f8295456098fb8 Mon Sep 17 00:00:00 2001 From: Daniel <70107167+Programador-jr@users.noreply.github.com> Date: Tue, 13 Oct 2026 08:09:29 -0500 Subject: [PATCH 6/6] chore: align lockfile metadata for v2.3.0 --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 1e7c5af..54e4fbd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "supertest": "^7.2.2" }, "engines": { - "node": ">=20 <23" + "node": ">=20 <25" } }, "node_modules/@babel/code-frame": {