Open Issues Need Help
View All on GitHubAI Summary: Implement rate limiting using a library like `express-rate-limit` to restrict API calls to the `/api/check-url` and `/api/check-urls` endpoints to a maximum of 30 requests per minute per IP address. This involves integrating the chosen library into the existing Express.js application and configuring it with the specified rate limit.
AI Summary: Add a table of contributors to the project's README.md file, using a tool like contrib.rocks to generate the table and then integrating it into the existing README.
AI Summary: Refactor the `urlController.ts` file to extract all hardcoded strings, such as error messages, into a constants file located in the `constants` directory for better code maintainability and reusability. This involves identifying all hardcoded strings, creating corresponding constants in `constants/index.ts`, and updating `urlController.ts` to use these constants.
AI Summary: Add a Docker section to the project's README.md, detailing how to build and run the application using Docker. This involves creating instructions for building a Docker image from the provided Dockerfile and running the resulting container.
AI Summary: Create a Dockerfile and dockerignore file to containerize a Node.js/TypeScript Express application. The Dockerfile should use a Node.js 18+ base image, install dependencies using pnpm, build the application, and expose port 3000. The application's functionality (including API endpoints and Swagger documentation) must remain intact within the container.
AI Summary: Add a clickable table of contents to the project's README.md file, linking to relevant sections like "Why This Project Exists", "Features", "API Endpoints", etc., similar to the provided example image.
AI Summary: Write unit tests for the Express.js API endpoints using Vitest or a suitable alternative. Tests should cover various scenarios including valid URLs, broken URLs, invalid input (missing URLs, too many URLs, invalid URL format), and the health check endpoint. The tests should verify the correct HTTP status codes and response data.