├── .gitignore ├── .npmrc ├── LICENSE ├── README.md ├── docs ├── CODE_OF_CONDUCT.md └── CONTRIBUTING.md ├── generate-tools.js ├── package.json ├── platform-screenshot.png ├── postcss.config.cjs ├── src ├── app.d.ts ├── app.html ├── app.pcss ├── images │ ├── clear.png │ ├── eraser.png │ ├── image.png │ ├── paint-bucket.png │ ├── pencil.png │ ├── redo.png │ ├── shapes.png │ └── undo.png ├── lib │ ├── Copy.svelte │ ├── CountrySelector.svelte │ └── helpers.js └── routes │ ├── (tools) │ ├── +layout.svelte │ ├── .blank │ │ ├── +page.svelte │ │ └── meta.json │ ├── Gradient-generator │ │ └── +page.svelte │ ├── add-prefix-suffix │ │ ├── +page.svelte │ │ └── meta.json │ ├── advice-generator │ │ ├── +page.svelte │ │ └── meta.json │ ├── annuity-payout-calculator │ │ ├── +page.svelte │ │ └── meta.json │ ├── api-tool │ │ ├── +page.svelte │ │ └── meta.json │ ├── ascii-encode-decode │ │ ├── +page.svelte │ │ └── meta.json │ ├── base64-encode-decode │ │ ├── +page.svelte │ │ └── meta.json │ ├── binary-text-converter │ │ ├── +page.svelte │ │ └── meta.json │ ├── code-to-image-converter │ │ ├── +page.svelte │ │ └── meta.json │ ├── css-animator │ │ ├── +page.svelte │ │ └── meta.json │ ├── custom-handwriting-font │ │ ├── +page.svelte │ │ └── meta.json │ ├── custom-icon-font-generator │ │ ├── +page.svelte │ │ └── meta.json │ ├── database-schema-visualizer │ │ ├── +page.svelte │ │ └── meta.json │ ├── device-details │ │ ├── +page.svelte │ │ └── meta.json │ ├── file-converter │ │ ├── +page.svelte │ │ └── meta.json │ ├── gradient-generator │ │ └── meta.json │ ├── image-base64-decode │ │ ├── +page.svelte │ │ └── meta.json │ ├── image-base64-encode │ │ ├── +page.svelte │ │ └── meta.json │ ├── image-color-picker │ │ ├── +page.svelte │ │ └── meta.json │ ├── image-text-extractor │ │ ├── +page.svelte │ │ └── meta.json │ ├── liveQ&A │ │ ├── +page.svelte │ │ └── meta.json │ ├── living-background-generator │ │ ├── +page.svelte │ │ └── meta.json │ ├── lorem-ipsum-generator │ │ ├── +page.svelte │ │ └── meta.json │ ├── mock-webhook │ │ ├── +page.svelte │ │ └── meta.json │ ├── neumorphism-generator │ │ ├── +page.svelte │ │ └── meta.json │ ├── number-to-word │ │ ├── +page.svelte │ │ └── meta.json │ ├── online-video-editor │ │ ├── +page.svelte │ │ └── meta.json │ ├── password-generator │ │ ├── +page.svelte │ │ └── meta.json │ ├── pastebin │ │ ├── +page.svelte │ │ └── meta.json │ ├── pdf-2-scan │ │ ├── +page.svelte │ │ └── meta.json │ ├── pdf-toolkit │ │ ├── +page.svelte │ │ └── meta.json │ ├── permutations-of-a-string │ │ ├── +page.svelte │ │ └── meta.json │ ├── pomodoro │ │ ├── +page.svelte │ │ └── meta.json │ ├── random-data-generator │ │ ├── +page.svelte │ │ ├── Field.svelte │ │ ├── dataConverter.js │ │ ├── generate.js │ │ ├── meta.json │ │ └── store.js │ ├── random-image-generator │ │ ├── +page.svelte │ │ └── meta.json │ ├── resume-builder │ │ ├── +page.svelte │ │ └── meta.json │ ├── reverse-string │ │ ├── +page.svelte │ │ └── meta.json │ ├── roadmap │ │ └── +page.svelte │ ├── robots-txt-generator │ │ ├── +page.svelte │ │ └── meta.json │ ├── screen-video-recorder │ │ ├── +page.svelte │ │ └── meta.json │ ├── watermark-pdf │ │ ├── +page.svelte │ │ └── meta.json │ ├── whatsapp-api-generator │ │ ├── +page.svelte │ │ └── meta.json │ └── whiteboard │ │ ├── +page.svelte │ │ └── meta.json │ ├── +layout.js │ ├── +layout.svelte │ ├── +page.svelte │ ├── about │ └── +page.svelte │ ├── contact │ └── +page.svelte │ ├── privacy-policy │ └── +page.svelte │ ├── sitemap.xml │ └── +server.js │ ├── terms-and-conditions │ └── +page.svelte │ └── tools.json ├── static ├── Texttospeech.png ├── animation.css ├── annie-spratt-MChSQHxGZrQ-unsplash.jpg ├── chain-ok.png ├── color-palatte.png ├── copy.png ├── download.png ├── favicon.png ├── favicon.svg ├── flagSprite42.png ├── fonts │ ├── icomoon.eot │ ├── icomoon.svg │ ├── icomoon.ttf │ └── icomoon.woff ├── freakflags.css ├── james-mcdonald-3d4sSUChunA-unsplash.jpg ├── logoUpload.png ├── quino-al-J1_1YigSUPA-unsplash.jpg ├── robots.txt ├── samples │ ├── file_example_AVI_480_750kB.avi │ └── file_example_AVI_640_800kB.avi ├── server-ok.png ├── setting.png ├── terminal-dark.png └── terminal-light.png ├── svelte.config.js ├── tailwind.config.cjs └── vite.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /build 4 | /.svelte-kit 5 | /package 6 | .env 7 | .env.* 8 | !.env.example 9 | vite.config.js.timestamp-* 10 | vite.config.ts.timestamp-* 11 | .firebase/* 12 | functions/package-lock.json 13 | package-lock.json 14 | functions/* 15 | ui-debug.log 16 | yarn.lock 17 | static/samples/* 18 | .vercel 19 | .pnpm-lock.yaml 20 | /.vscode -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Screenshot of the plaform](platform-screenshot.png)](https://developerstar.com) 2 | 3 | # Developerstar 4 | 5 | Welcome to the ultimate solution for developers seeking to enhance their productivity and streamline their workflows. Our free online developer toolkit empowers you to unlock your full potential with a comprehensive collection of top-notch tools. Say goodbye to the struggles of searching for the right tools and embrace the convenience of our user-friendly platform. 6 | 7 | As fellow developers, we understand the daily challenges of finding the perfect tools to solve programming problems. That's why we have curated a high-quality selection of developer tools, all in one place. Our platform is available to developers worldwide, and it will remain free forever. 8 | 9 | Our mission is to lead the way in providing developer tools that empower software developers to overcome obstacles and work more efficiently. We are dedicated to streamlining workflows and increasing productivity, envisioning a future where software development is faster, more accessible, and more innovative than ever before. 10 | 11 | Join us on this journey to maximize your efficiency and productivity as a developer. Experience the power of our developer toolkit today! 12 | 13 | ## Powered by 14 | 15 | ![SvelteKit](https://img.shields.io/badge/SvelteKit-FF3E00?style=for-the-badge&logo=Svelte&logoColor=white) ![SvelteKit](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white) 16 | 17 | ## Run Locally 18 | 19 | Clone the project 20 | 21 | ```bash 22 | 23 | git clone https://github.com/AraeneaCLI/devstar.git 24 | 25 | ``` 26 | 27 | Go to the project directory 28 | 29 | ```bash 30 | 31 | cd devstar 32 | 33 | ``` 34 | 35 | Install dependencies 36 | 37 | ```bash 38 | 39 | npm install 40 | 41 | ``` 42 | 43 | Start the server 44 | 45 | ```bash 46 | 47 | npm run dev 48 | 49 | ``` 50 | 51 | ## Contributing 52 | 53 | Contributions are always welcome! 54 | 55 | See [CONTRIBUTING.md](docs/CONTRIBUTING.md) for ways to get started. 56 | 57 | Please adhere to this project's [Code of Conduct](docs/CODE_OF_CONDUCT.md). 58 | 59 | ## Star History 60 | 61 | [![Star History Chart](https://api.star-history.com/svg?repos=hannansatopay/devstar&type=Date)](https://star-history.com/#hannansatopay/devstar&Date) 62 | 63 | ## License 64 | [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) 65 | -------------------------------------------------------------------------------- /docs/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | 2 | # Code of Conduct 3 | 4 | ## Our Pledge 5 | In the interest of fostering an inclusive and positive community, we, as contributors and maintainers, pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | Examples of behavior that contributes to creating a positive environment include: 9 | - Being respectful and inclusive of differing viewpoints and experiences 10 | 11 | - Using welcoming and inclusive language 12 | 13 | - Gracefully accepting constructive criticism 14 | 15 | - Focusing on what is best for the community 16 | 17 | - Showing empathy towards others 18 | 19 | 20 | Examples of unacceptable behavior by participants include: 21 | 22 | - The use of sexualized language or imagery and unwelcome sexual attention or advances 23 | 24 | - Trolling, insulting/derogatory comments, and personal or political attacks 25 | 26 | - Public or private harassment 27 | 28 | - Publishing others' private information, such as physical or electronic addresses, without explicit permission 29 | 30 | - Other conduct that could reasonably be considered inappropriate in a professional setting 31 | 32 | 33 | 34 | ## Our Responsibilities 35 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 36 | 37 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned with this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 38 | 39 | 40 | 41 | ## Scope 42 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project email address, posting via an official social media account, or acting as an appointed representative at an online or offline event. 43 | 44 | 45 | ## Enforcement 46 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by [contacting the project team](https://developerstar.com/contact). All complaints will be reviewed and investigated promptly and fairly. 47 | 48 | Project maintainers are obligated to respect the privacy and security of the reporter of any incident. 49 | 50 | 51 | ## Attribution 52 | This Code of Conduct is adapted from the Contributor Covenant, version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html -------------------------------------------------------------------------------- /docs/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing Guidelines 2 | 3 | Thank you for your interest in contributing to our project! We welcome contributions from everyone. By participating in this project, you agree to abide by the [Code of Conduct](CODE_OF_CONDUCT.md). We appreciate your effort in helping us create an inclusive and welcoming community. 4 | 5 | ## Ways to Contribute 6 | 7 | There are several ways you can contribute to this project: 8 | 9 | - **Report Issues**: If you come across any bugs, issues, or have feature requests, please submit them through our [Issue Tracker](https://github.com/hannansatopay/devstar/issues/new). 10 | 11 | - **Submit Pull Requests**: If you have code changes or enhancements to contribute, please submit a pull request. Make sure to follow our coding conventions and provide a clear explanation of your changes. 12 | 13 | ## Getting Started 14 | 15 | To get started with contributing, follow these steps: 16 | 17 | 1. Fork the repository and clone it locally. 18 | 2. Create a new branch for your contributions. Use the following naming conventions: 19 | - For adding a new feature/tool, use the prefix `feat` in the branch name. 20 | - For platform changes, use the prefix `platform`. 21 | - For bug fixes, use the prefix `fix`. 22 | - For changing code for performance or convenience purpose (e.g. readability), use the prefix `refactor`. 23 | - For writing documentation, formatting etc. use the prefix `chore`. 24 | For example, `feat/new-feature` or `fix/bug-fix`. 25 | 3. Make your changes, following our coding conventions and guidelines. 26 | - When adding a new feature/tool, ensure that you reference it in the `tool.js` file. 27 | 4. Test your changes thoroughly. 28 | 5. Commit your changes and push them to your fork. 29 | 6. Submit a pull request, explaining the purpose and details of your changes. 30 | 31 | ## Coding Conventions 32 | 33 | - Follow the existing code style and naming conventions used in the project. 34 | - Write clear and concise code with proper documentation. 35 | - Ensure your code builds successfully. 36 | 37 | ## Code of Conduct 38 | 39 | Please review and adhere to our [Code of Conduct](CODE_OF_CONDUCT.md) in all your interactions and contributions. 40 | 41 | ## Feedback and Communication 42 | 43 | We value your feedback and welcome any suggestions or questions you may have. Feel free to join our [Community Forum](https://github.com/hannansatopay/devstar/discussions) to engage in discussions or [reach out to our team](https://developerstar.com/contact). 44 | 45 | 46 | Thank you for your contribution! -------------------------------------------------------------------------------- /generate-tools.js: -------------------------------------------------------------------------------- 1 | import fs from 'fs'; 2 | import path from 'path'; 3 | import { fileURLToPath } from 'url'; 4 | 5 | // Define __dirname for ES modules 6 | const __filename = fileURLToPath(import.meta.url); 7 | const __dirname = path.dirname(__filename); 8 | 9 | // Define the folder containing the tools 10 | const toolsFolder = path.join(__dirname, 'src', 'routes', '(tools)'); 11 | 12 | // Initialize an empty object to hold the tools data 13 | let toolsData = {}; 14 | 15 | // Read all subfolders within the tools folder 16 | fs.readdirSync(toolsFolder).forEach(subfolder => { 17 | const subfolderPath = path.join(toolsFolder, subfolder); 18 | const metaFilePath = path.join(subfolderPath, 'meta.json'); 19 | 20 | if (subfolder === '.blank') { 21 | return; // Skip the .blank folder 22 | } 23 | 24 | // Check if meta.json file exists in the subfolder 25 | if (fs.existsSync(metaFilePath)) { 26 | const metaContent = fs.readFileSync(metaFilePath, 'utf-8'); 27 | const metaJson = JSON.parse(metaContent); 28 | 29 | // Add the tool data to the toolsData object 30 | toolsData[subfolder] = { 31 | name: metaJson.name, 32 | link: `/${subfolder}`, 33 | description: metaJson.description, 34 | contributors: metaJson.contributors 35 | }; 36 | } 37 | }); 38 | 39 | // Define the path for tools.json file 40 | const toolsJsonFilePath = path.join(__dirname, 'src', 'routes', 'tools.json'); 41 | 42 | // Write the content to tools.json file 43 | fs.writeFileSync(toolsJsonFilePath, JSON.stringify(toolsData, null, 4)); 44 | 45 | console.log('tools.json file has been created successfully!'); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "developerstar", 3 | "version": "2.0.0", 4 | "description": "Maximize your efficiency and productivity.", 5 | "license": "MIT", 6 | "scripts": { 7 | "dev": "node generate-tools.js && vite dev", 8 | "build": "node generate-tools.js && vite build", 9 | "preview": "node generate-tools.js && vite preview" 10 | }, 11 | "devDependencies": { 12 | "@sveltejs/adapter-node": "^1.3.1", 13 | "@sveltejs/kit": "^1.30.4", 14 | "flowbite": "^1.8.1", 15 | "flowbite-svelte": "^0.39.2", 16 | "postcss": "^8.4.32", 17 | "sass": "^1.69.5", 18 | "svelte": "^3.59.2", 19 | "tailwindcss": "^3.3.3", 20 | "typescript": "~4.7.4", 21 | "vite": "^4.4.11", 22 | "vite-plugin-iso-import": "^1.0.0", 23 | "vitest": "^0.28.5" 24 | }, 25 | "dependencies": { 26 | "@faker-js/faker": "^8.4.1", 27 | "@sveltejs/adapter-node": "^1.3.1", 28 | "axios": "^1.7.2", 29 | "countries-list": "^3.1.0", 30 | "downloadjs": "^1.4.7", 31 | "html2canvas": "^1.4.1", 32 | "jspdf": "^2.5.1", 33 | "pdf-lib": "^1.17.1", 34 | "svelte-awesome-color-picker": "^3.1.0", 35 | "svelte-tags-input": "^6.0.0", 36 | "tailwindcss": "^3.3.5", 37 | "tesseract.js": "^5.0.2", 38 | "vite-plugin-iso-import": "^1.0.0", 39 | "vitest": "^0.34.6" 40 | }, 41 | "type": "module", 42 | "keywords": [ 43 | "developer", 44 | "toolkit" 45 | ], 46 | "engines": { 47 | "npm": ">=7.0.0", 48 | "node": ">=16.0.0" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /platform-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeshAlhan/devstar/100d65cc1bb111a26309814cda9b6cb6d4d5a467/platform-screenshot.png -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | const tailwindcss = require('tailwindcss'); 2 | 3 | const config = { 4 | plugins: [ 5 | tailwindcss() 6 | ] 7 | }; 8 | 9 | module.exports = config; 10 | -------------------------------------------------------------------------------- /src/app.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | // See https://kit.svelte.dev/docs/types#app 4 | // for information about these interfaces 5 | declare namespace App { 6 | // interface Locals {} 7 | // interface Platform {} 8 | // interface Session {} 9 | // interface Stuff {} 10 | } 11 | -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | %sveltekit.head% 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 26 | 27 |
%sveltekit.body%
28 | 29 | 30 | -------------------------------------------------------------------------------- /src/app.pcss: -------------------------------------------------------------------------------- 1 | /* Write your global styles here, in PostCSS syntax */ 2 | 3 | @tailwind base; 4 | @tailwind base; 5 | @tailwind components; 6 | @tailwind utilities; 7 | 8 | .svelte-tags-input-layout { 9 | border-radius: 0.5rem !important; 10 | background-color: rgb(249 250 251) !important; 11 | } 12 | 13 | .svelte-tags-input-layout:hover, 14 | .svelte-tags-input-layout:focus, 15 | .svelte-tags-input-layout:focus-within { 16 | border: 1px solid rgb(59 130 246) !important; 17 | outline: 1px solid rgb(59 130 246) !important; 18 | } 19 | 20 | .svelte-tags-input-layout input { 21 | box-shadow: none !important; 22 | } 23 | 24 | .svelte-tags-input-tag { 25 | color: rgb(31 41 55) !important; 26 | background-color: rgb(243 244 246) !important; 27 | border-radius: 0.25rem !important; 28 | } 29 | 30 | .custom-scrollbar::-webkit-scrollbar { 31 | width: 10px; 32 | } 33 | 34 | .custom-scrollbar::-webkit-scrollbar-thumb { 35 | background-color: #e2e8f0; 36 | border-radius: 5px; 37 | } 38 | 39 | .custom-scrollbar::-webkit-scrollbar-thumb:hover { 40 | background-color: #cbd5e0; 41 | } 42 | 43 | .custom-scrollbar::-webkit-scrollbar-track { 44 | background-color: #f7fafc; 45 | border-radius: 5px; 46 | } 47 | 48 | 49 | .card { 50 | box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 2px; 51 | } 52 | 53 | :is(.dark .card) { 54 | box-shadow: rgba(255, 255, 255, 0.5) 0 0 0 2px; 55 | } 56 | 57 | @font-face { 58 | font-family: 'icomoon'; 59 | src: url('/fonts/icomoon.eot?mpuld7'); 60 | src: 61 | url('/fonts/icomoon.eot?mpuld7#iefix') format('embedded-opentype'), 62 | url('/fonts/icomoon.ttf?mpuld7') format('truetype'), 63 | url('/fonts/icomoon.woff?mpuld7') format('woff'), 64 | url('/fonts/icomoon.svg?mpuld7#icomoon') format('svg'); 65 | font-weight: normal; 66 | font-style: normal; 67 | font-display: block; 68 | } 69 | 70 | [class^='icon-'], 71 | [class*=' icon-'] { 72 | /* use !important to prevent issues with browser extensions that change fonts */ 73 | font-family: 'icomoon' !important; 74 | speak: never; 75 | font-style: normal; 76 | font-weight: normal; 77 | font-variant: normal; 78 | text-transform: none; 79 | line-height: 1; 80 | 81 | /* Better Font Rendering =========== */ 82 | -webkit-font-smoothing: antialiased; 83 | -moz-osx-font-smoothing: grayscale; 84 | } 85 | 86 | .icon-github:before { 87 | content: '\e914'; 88 | } 89 | .icon-linkedin:before { 90 | content: '\e915'; 91 | } 92 | .icon-whatsapp:before { 93 | content: '\e905'; 94 | } 95 | .icon-angle-right:before { 96 | content: '\e902'; 97 | } 98 | .icon-arrow-right-arrow-left:before { 99 | content: '\e906'; 100 | } 101 | .icon-calendar-circle-user:before { 102 | content: '\e907'; 103 | } 104 | .icon-circle-info:before { 105 | content: '\e916'; 106 | } 107 | .icon-clock-desk:before { 108 | content: '\e908'; 109 | } 110 | .icon-copy:before { 111 | content: '\e903'; 112 | } 113 | .icon-display:before { 114 | content: '\e909'; 115 | } 116 | .icon-file-image:before { 117 | content: '\e90a'; 118 | } 119 | .icon-files:before { 120 | content: '\e90b'; 121 | } 122 | .icon-film-simple:before { 123 | content: '\e90c'; 124 | } 125 | .icon-folder-image:before { 126 | content: '\e90d'; 127 | } 128 | .icon-key:before { 129 | content: '\e913'; 130 | } 131 | .icon-laptop-mobile:before { 132 | content: '\e90e'; 133 | } 134 | .icon-layer-group:before { 135 | content: '\e900'; 136 | } 137 | .icon-magnifying-glass:before { 138 | content: '\e901'; 139 | } 140 | .icon-message-captions:before { 141 | content: '\e90f'; 142 | } 143 | .icon-palette:before { 144 | content: '\e910'; 145 | } 146 | .icon-shuffle:before { 147 | content: '\e911'; 148 | } 149 | .icon-spider-web:before { 150 | content: '\e904'; 151 | } 152 | .icon-regex-tool:before { 153 | content: '\e901'; 154 | } 155 | .icon-text-size:before { 156 | content: '\e912'; 157 | } 158 | .icon-charts:before { 159 | content: '\e99c'; 160 | } 161 | .icon-tts:before { 162 | content: '\e91e'; 163 | } 164 | .icon-dollar:before { 165 | content: '\e913'; 166 | } 167 | .icon-terminal:before { 168 | content: '\e905'; 169 | } -------------------------------------------------------------------------------- /src/images/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeshAlhan/devstar/100d65cc1bb111a26309814cda9b6cb6d4d5a467/src/images/clear.png -------------------------------------------------------------------------------- /src/images/eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeshAlhan/devstar/100d65cc1bb111a26309814cda9b6cb6d4d5a467/src/images/eraser.png -------------------------------------------------------------------------------- /src/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeshAlhan/devstar/100d65cc1bb111a26309814cda9b6cb6d4d5a467/src/images/image.png -------------------------------------------------------------------------------- /src/images/paint-bucket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeshAlhan/devstar/100d65cc1bb111a26309814cda9b6cb6d4d5a467/src/images/paint-bucket.png -------------------------------------------------------------------------------- /src/images/pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeshAlhan/devstar/100d65cc1bb111a26309814cda9b6cb6d4d5a467/src/images/pencil.png -------------------------------------------------------------------------------- /src/images/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeshAlhan/devstar/100d65cc1bb111a26309814cda9b6cb6d4d5a467/src/images/redo.png -------------------------------------------------------------------------------- /src/images/shapes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeshAlhan/devstar/100d65cc1bb111a26309814cda9b6cb6d4d5a467/src/images/shapes.png -------------------------------------------------------------------------------- /src/images/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeshAlhan/devstar/100d65cc1bb111a26309814cda9b6cb6d4d5a467/src/images/undo.png -------------------------------------------------------------------------------- /src/lib/Copy.svelte: -------------------------------------------------------------------------------- 1 | 18 | 19 | 20 |
21 | Copy 22 |
23 | 24 | 25 | -------------------------------------------------------------------------------- /src/lib/CountrySelector.svelte: -------------------------------------------------------------------------------- 1 | 33 | 34 | 41 | 42 |
43 | 44 |
45 | {#each filteredCountries as country} 46 | selectCountry(country)}>
{country.name}
47 | {/each} 48 |
-------------------------------------------------------------------------------- /src/lib/helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeshAlhan/devstar/100d65cc1bb111a26309814cda9b6cb6d4d5a467/src/lib/helpers.js -------------------------------------------------------------------------------- /src/routes/(tools)/+layout.svelte: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 |
9 |

10 | {data.meta.title} 11 |

12 | 13 |
14 | 15 |
16 | 17 |
18 |

Details

19 |

20 | {data.meta.description} 21 |

22 |
23 | 24 |
25 |

Contributors

26 |
27 | {#each data.meta.contributors as contributor} 28 | 29 | 30 |
{contributor.name}
31 |
32 | {/each} 33 |
34 |
35 |
36 |
-------------------------------------------------------------------------------- /src/routes/(tools)/.blank/+page.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 | 7 |
8 | 9 | -------------------------------------------------------------------------------- /src/routes/(tools)/.blank/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "description":"", 4 | "contributors": [{ 5 | "name": "", 6 | "githubId": "" 7 | }, { 8 | "name": "", 9 | "githubId": "" 10 | }, 11 | { 12 | "name": "", 13 | "githubId": "" 14 | }, 15 | { 16 | "name": "", 17 | "githubId": "" 18 | }, 19 | { 20 | "name": "", 21 | "githubId": "" 22 | }] 23 | } -------------------------------------------------------------------------------- /src/routes/(tools)/Gradient-generator/+page.svelte: -------------------------------------------------------------------------------- 1 | 93 | 94 |
95 |
96 |
97 | 98 |
99 | 100 | 101 |
102 | 103 | 109 |
110 | 111 | 112 |
113 | 114 |
115 | {#each gradientColors as color,index} 116 | 122 | {/each} 123 |
124 |
125 | 126 | 127 |
128 | 129 | 134 |
135 | 136 | 137 |
138 | 139 | 144 |
145 | 146 | 147 |
148 | 149 | 156 | 157 | 158 | 165 | 166 | 167 | 175 | 176 | 177 | background: {gradientCode} 178 | 179 | 180 | 181 | 190 | 191 | Copy 192 | 193 | Download 195 | 196 |
197 |
198 | 199 | 200 |
201 |
205 |
206 |
207 |
208 | -------------------------------------------------------------------------------- /src/routes/(tools)/add-prefix-suffix/+page.svelte: -------------------------------------------------------------------------------- 1 | 51 | 52 |
53 |
54 |
55 |
56 | 57 |
58 | 59 |
60 | 61 |
62 | 63 |
64 | 65 |
66 | 86 | 87 | 88 |
89 | {code} 90 |
91 | 92 | {#if imageUrl} 93 |
94 |

Generated Image:

95 | Code Image 96 |
97 | {/if} 98 |
99 | -------------------------------------------------------------------------------- /src/routes/(tools)/code-to-image-converter/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Code To Image Converter", 3 | "description":"A code-to-image converter is a tool that transforms programming code into visual representations. This task involves interpreting code syntax and structure to create images that visually depict the logic and functionality of the code.", 4 | "contributors": [{ 5 | "name": "Atharv Amol Dhupkar", 6 | "githubId": "atharv-dhupkar22" 7 | }, { 8 | "name": "", 9 | "githubId": "" 10 | }, 11 | { 12 | "name": "", 13 | "githubId": "" 14 | }, 15 | { 16 | "name": "", 17 | "githubId": "" 18 | }, 19 | { 20 | "name": "", 21 | "githubId": "" 22 | }] 23 | } -------------------------------------------------------------------------------- /src/routes/(tools)/css-animator/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CSS Animator", 3 | "description": "The CSS Animator is a powerful tool that simplifies the creation of engaging and interactive CSS animations for developers. With an intuitive interface, you can generate CSS animations by defining keyframes, durations, delays, and easing functions. This tool eliminates the need for manual coding and enables developers to bring their designs to life with captivating CSS animations easily.", 4 | "contributors": [{ 5 | "name": "Hannan Satopay", 6 | "githubId": "hannansatopay" 7 | }, 8 | { 9 | "name": "Munsif Satopay", 10 | "githubId": "munsifsatopay" 11 | }] 12 | } -------------------------------------------------------------------------------- /src/routes/(tools)/custom-handwriting-font/+page.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 | 7 |
8 | 9 | -------------------------------------------------------------------------------- /src/routes/(tools)/custom-handwriting-font/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "description":"", 4 | "contributors": [{ 5 | "name": "", 6 | "githubId": "" 7 | }, { 8 | "name": "", 9 | "githubId": "" 10 | }, 11 | { 12 | "name": "", 13 | "githubId": "" 14 | }, 15 | { 16 | "name": "", 17 | "githubId": "" 18 | }, 19 | { 20 | "name": "", 21 | "githubId": "" 22 | }] 23 | } -------------------------------------------------------------------------------- /src/routes/(tools)/custom-icon-font-generator/+page.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 | 7 |
8 | 9 | -------------------------------------------------------------------------------- /src/routes/(tools)/custom-icon-font-generator/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "description":"", 4 | "contributors": [{ 5 | "name": "", 6 | "githubId": "" 7 | }, { 8 | "name": "", 9 | "githubId": "" 10 | }, 11 | { 12 | "name": "", 13 | "githubId": "" 14 | }, 15 | { 16 | "name": "", 17 | "githubId": "" 18 | }, 19 | { 20 | "name": "", 21 | "githubId": "" 22 | }] 23 | } -------------------------------------------------------------------------------- /src/routes/(tools)/database-schema-visualizer/+page.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 | 7 |
8 | 9 | -------------------------------------------------------------------------------- /src/routes/(tools)/database-schema-visualizer/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "description":"", 4 | "contributors": [{ 5 | "name": "", 6 | "githubId": "" 7 | }, { 8 | "name": "", 9 | "githubId": "" 10 | }, 11 | { 12 | "name": "", 13 | "githubId": "" 14 | }, 15 | { 16 | "name": "", 17 | "githubId": "" 18 | }, 19 | { 20 | "name": "", 21 | "githubId": "" 22 | }] 23 | } -------------------------------------------------------------------------------- /src/routes/(tools)/device-details/+page.svelte: -------------------------------------------------------------------------------- 1 | 85 | 86 | 87 | 88 |
89 | {#each ['Operating System', 'Browser', 'Browser Resolution', 'Screen Resolution'] as item} 90 |
93 |
94 | {item} 95 |
96 | {#if item === 'Operating System'} 97 |

98 | {operatingSystem || ''} 99 | {osVersion || ''} 100 | {osArchitecture || ''} 101 |

102 | {/if} 103 | {#if item === 'Browser'} 104 |

105 | {browserName || ''} 106 | {browserVersion || ''} 107 |

108 | {/if} 109 | {#if item === 'Browser Resolution'} 110 | {#if innerWidth || innerHeight} 111 |

112 | {innerWidth} x {innerHeight} 113 |

114 | {/if} 115 | {/if} 116 | {#if item === 'Screen Resolution'} 117 | {#if screenWidth || screenHeight} 118 |

119 | {screenWidth} x {screenHeight} 120 |

121 | {/if} 122 | {/if} 123 |
124 | {/each} 125 |
-------------------------------------------------------------------------------- /src/routes/(tools)/device-details/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Device Details", 3 | "description": "The Device Details tool provides developers with essential information about user devices, including browser specifications, screen resolution, operating system details, and more. By integrating this tool into your applications, you can gather valuable insights about your users' devices, allowing you to optimize user experiences, ensure compatibility, and tailor your content or features accordingly.", 4 | "contributors": [{ 5 | "name": "Hannan Satopay", 6 | "githubId": "hannansatopay" 7 | }] 8 | } -------------------------------------------------------------------------------- /src/routes/(tools)/file-converter/+page.svelte: -------------------------------------------------------------------------------- 1 | 104 | 105 | 106 |
107 |
108 |
109 |
110 | 111 |
112 | 113 |
114 |
115 |
116 | 117 |
118 | 137 |
138 | 139 |
140 |
141 |
142 | 143 |
144 |
145 |
146 | 147 | {#if outputFile!==''} 148 |
149 |
{outputFile}
150 |
151 | 152 | 153 |
154 |
155 | {/if} 156 |
157 | 160 |
161 | 162 | 163 |
164 | 165 | -------------------------------------------------------------------------------- /src/routes/(tools)/file-converter/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "File Converter", 3 | "description": "A file converter is a online tool that allows users to convert files from one format to another. It simplifies the process of converting files between different formats including images, audio, and video, making it an essential tool for professionals, students, and anyone dealing with various types of digital media.", 4 | "contributors": [{ 5 | "name": "Mohammad Adil", 6 | "githubId": "devilzs1" 7 | }] 8 | } -------------------------------------------------------------------------------- /src/routes/(tools)/gradient-generator/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Gradient Generator", 3 | "description": "The Gradient Generator is a tool for Developers which allows you to create Gradient between 2 Colors and Copy its CSS Output.", 4 | "contributors": [{ 5 | "name": "Yash Mankar", 6 | "githubId": "AraeneaCLI" 7 | }] 8 | } -------------------------------------------------------------------------------- /src/routes/(tools)/image-base64-decode/+page.svelte: -------------------------------------------------------------------------------- 1 | 46 | 47 | 48 |
49 |
50 |
51 | 52 | 47 |
{code}
48 | 49 | {#if imageUrl} 50 | Code Image 51 | 52 | {/if} 53 | 54 | -------------------------------------------------------------------------------- /src/routes/about/+page.svelte: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |

5 | Maximize efficiency and productivity 6 |

7 |

8 | As developers ourselves, we understand the struggles of searching for the right tools to 9 | solve programming problems on a daily basis. That's why we've gathered a top-notch selection 10 | of high-quality developer tools in one user-friendly platform, available to developers all 11 | around the world for free, forever. 12 |

13 |

Our mission is to be the leading provider of developer tools that empower software developers to overcome obstacles and work more efficiently, streamlining their workflows and increasing productivity. Through our efforts, we envision a future where software development is faster, more accessible, and more innovative than ever before.

14 |
15 |
16 |
17 | men sitting in front of their laptop computer 18 | 19 |
20 |
21 | gray leather office rolling armchair beside white wooden computer desk 22 | 23 |
24 |
25 |
26 | 27 |
28 |
29 |

Key features of the platform

30 |

The platform offers a curated collection of high-quality developer tools, with a user-friendly interface, free access, and streamlined workflows to enhance developers' efficiency.

31 |
32 |
33 |
34 |

Comprehensive Selection

35 |

The platform provides curated high-quality developer tools for diverse software development needs.

36 |
37 |
38 |

User-Friendly Interface

39 |

The platform offers an intuitive, user-friendly interface for seamless tool navigation and enhanced developer productivity.

40 |
41 |
42 |

Free Access

43 |

The developer toolkit platform is free worldwide, ensuring access for all developers, promoting inclusivity and equal opportunities.

44 |
45 |
46 |

Increased Efficiency

47 |

The platform streamlines workflows, saving time and enabling developers to focus on coding and problem-solving.

48 |
49 |
50 |
51 |
52 | 53 |
54 |
55 |
56 |

Our Team

57 |

Our passionate team of developers is shaping the future of software development, curating top tools, fostering a supportive community, and driving global innovation.

58 |
59 |
60 |
61 |
62 | Hannan Satopay 63 |
64 |
65 |

66 | Hannan Satopay 67 |

68 | Product Architect & Feature Developer 69 |

Hannan is the driving force behind building the product, shaping its design, and leading the technical strategy.

70 | 82 |
83 |
84 |
85 |
86 | Rifat Perween 87 |
88 |
89 |

90 | Rifat Perween 91 |

92 | Feature Developer 93 |

Rifat plays a pivotal role contributing to the technical strategy and development of the platform.

94 | 106 |
107 |
108 |
109 |
110 |
-------------------------------------------------------------------------------- /src/routes/contact/+page.svelte: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 |
8 |
9 |
10 |

13 | Contact us 14 |

15 |

18 | Let us know what you need and we will get back to you in no time. 19 |

20 |
21 |
22 |
23 |
24 |
25 |
26 | 27 | 35 |
36 |
37 | 38 | 46 |
47 |
48 | 49 |