2024-09-13 20:56:32 +02:00
< picture >
< source srcset = "./.github/logo-dark.png" media = "(prefers-color-scheme: light)" >
< source srcset = "./.github/logo-white.png" media = "(prefers-color-scheme: dark)" >
< img src = "./.github/logo-dark.png" alt = "logo" >
< / picture >
2022-03-31 00:33:29 +02:00
2022-04-16 15:33:18 +02:00
Useful tools for developer and people working in IT. [Have a look ! ](https://it-tools.tech ).
2022-03-31 00:33:29 +02:00
2022-04-13 23:05:55 +02:00
## Functionalities and roadmap
2022-03-31 00:33:29 +02:00
2022-04-13 23:05:55 +02:00
Please check the [issues ](https://github.com/CorentinTh/it-tools/issues ) to see if some feature listed to be implemented.
2022-03-31 00:33:29 +02:00
2023-06-19 00:21:36 +02:00
You have an idea of a tool? Submit a [feature request ](https://github.com/CorentinTh/it-tools/issues/new/choose )!
2022-03-31 00:33:29 +02:00
2023-03-23 22:47:14 +01:00
## Self host
2023-04-13 01:03:21 +02:00
Self host solutions for your homelab
**From docker hub:**
2023-03-23 22:47:14 +01:00
```sh
2023-04-13 01:03:21 +02:00
docker run -d --name it-tools --restart unless-stopped -p 8080:80 corentinth/it-tools:latest
2023-03-23 22:47:14 +01:00
```
2023-04-13 01:03:21 +02:00
**From github packages:**
```sh
docker run -d --name it-tools --restart unless-stopped -p 8080:80 ghcr.io/corentinth/it-tools:latest
```
**Other solutions:**
2023-08-26 16:18:12 +02:00
- [Cloudron ](https://www.cloudron.io/store/tech.ittools.cloudron.html )
2023-04-13 01:03:21 +02:00
- [Tipi ](https://www.runtipi.io/docs/apps-available )
- [Unraid ](https://unraid.net/community/apps?q=it-tools )
2025-05-06 14:25:42 +08:00
## Public
If you want to add permission verification when users access the website, you can build and run the image using the following method. This approach will require users to enter a token before they can continue using the site.
```sh
cd it-tools
# vim DockerfileWithToken, change your_token to the token you want to use
docker build -f DockerfileWithToken -t it-tools:token .
docker run -d --name it-tools --restart unless-stopped -p 8080:80 it-tools:token
```
2022-04-13 23:05:55 +02:00
## Contribute
2022-03-31 00:33:29 +02:00
2023-03-24 08:42:28 +01:00
### Recommended IDE Setup
2022-03-31 00:33:29 +02:00
2023-06-19 23:49:40 +02:00
[VSCode ](https://code.visualstudio.com/ ) with the following extensions:
2023-08-26 16:18:12 +02:00
- [Volar ](https://marketplace.visualstudio.com/items?itemName=Vue.volar ) (and disable Vetur)
2023-06-19 23:49:40 +02:00
- [TypeScript Vue Plugin (Volar) ](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin ).
- [ESLint ](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint )
- [i18n Ally ](https://marketplace.visualstudio.com/items?itemName=lokalise.i18n-ally )
with the following settings:
2023-08-26 16:18:12 +02:00
```json
2023-06-19 23:49:40 +02:00
{
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
2023-08-26 16:18:12 +02:00
"i18n-ally.localesPaths": ["locales", "src/tools/*/locales"],
2023-06-19 23:49:40 +02:00
"i18n-ally.keystyle": "nested"
}
```
2022-03-31 00:33:29 +02:00
2023-03-24 08:42:28 +01:00
### Type Support for `.vue` Imports in TS
2022-04-16 15:54:39 +02:00
2022-12-20 20:57:24 +01:00
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar) ](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin ) to make the TypeScript language service aware of `.vue` types.
2022-04-16 15:54:39 +02:00
2022-12-20 20:57:24 +01:00
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode ](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669 ) that is more performant. You can enable it by the following steps:
1. Disable the built-in TypeScript Extension
1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette
2. Find `TypeScript and JavaScript Language Features` , right click and select `Disable (Workspace)`
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
2023-03-24 08:42:28 +01:00
### Project Setup
2022-03-31 00:33:29 +02:00
```sh
2022-12-20 20:57:24 +01:00
pnpm install
2022-03-31 00:33:29 +02:00
```
2022-12-20 20:57:24 +01:00
### Compile and Hot-Reload for Development
2022-03-31 00:33:29 +02:00
```sh
2022-12-20 20:57:24 +01:00
pnpm dev
2022-03-31 00:33:29 +02:00
```
2022-12-20 20:57:24 +01:00
### Type-Check, Compile and Minify for Production
2022-03-31 00:33:29 +02:00
```sh
2022-12-20 20:57:24 +01:00
pnpm build
2022-03-31 00:33:29 +02:00
```
2022-12-20 20:57:24 +01:00
### Run Unit Tests with [Vitest](https://vitest.dev/)
2022-03-31 00:33:29 +02:00
```sh
2022-12-20 20:57:24 +01:00
pnpm test
2022-03-31 00:33:29 +02:00
```
2022-12-20 20:57:24 +01:00
### Lint with [ESLint](https://eslint.org/)
2022-03-31 00:33:29 +02:00
```sh
2022-12-20 20:57:24 +01:00
pnpm lint
2022-03-31 00:33:29 +02:00
```
2022-04-16 15:28:49 +02:00
### Create a new tool
2022-04-16 15:54:39 +02:00
2022-04-16 15:28:49 +02:00
To create a new tool, there is a script that generate the boilerplate of the new tool, simply run:
```sh
2023-11-22 19:27:46 +00:00
pnpm run script:create:tool my-tool-name
2022-04-16 15:28:49 +02:00
```
2023-06-01 04:55:44 +08:00
It will create a directory in `src/tools` with the correct files, and a the import in `src/tools/index.ts` . You will just need to add the imported tool in the proper category and develop the tool.
2022-04-16 15:28:49 +02:00
2023-09-11 22:59:07 +02:00
## Contributors
Big thanks to all the people who have already contributed!
2024-10-25 00:44:17 -07:00
[](https://github.com/corentinth/it-tools/graphs/contributors)
2023-09-11 22:59:07 +02:00
2022-04-13 23:05:55 +02:00
## Credits
2022-03-31 00:33:29 +02:00
2024-09-27 14:49:11 +02:00
Coded with ❤️ by [Corentin Thomasset ](https://corentin.tech?utm_source=it-tools&utm_medium=readme ).
2022-04-13 23:05:55 +02:00
This project is continuously deployed using [vercel.com ](https://vercel.com ).
2023-09-11 22:59:07 +02:00
Contributor graph is generated using [contrib.rocks ](https://contrib.rocks/preview?repo=corentinth/it-tools ).
2022-04-13 23:05:55 +02:00
2022-05-11 14:35:45 +02:00
< a href = "https://www.producthunt.com/posts/it-tools?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-it& #0045 ;tools" target = "_blank" >< img src = "https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=345793&theme=light" alt = "IT& #0032 ;Tools - Collection& #0032 ;of& #0032 ;handy& #0032 ;online& #0032 ;tools& #0032 ;for& #0032 ;devs& #0044 ;& #0032 ;with& #0032 ;great& #0032 ;UX | Product Hunt" style = "width: 250px; height: 54px;" width = "250" height = "54" /></ a >
< a href = "https://www.producthunt.com/posts/it-tools?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-it& #0045 ;tools" target = "_blank" >< img src = "https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=345793&theme=light&period=daily" alt = "IT& #0032 ;Tools - Collection& #0032 ;of& #0032 ;handy& #0032 ;online& #0032 ;tools& #0032 ;for& #0032 ;devs& #0044 ;& #0032 ;with& #0032 ;great& #0032 ;UX | Product Hunt" style = "width: 250px; height: 54px;" width = "250" height = "54" /></ a >
2022-04-13 23:05:55 +02:00
## License
2022-07-21 21:13:01 +02:00
This project is under the [GNU GPLv3 ](LICENSE ).