A fast, free, and secure browser-based image format converter supporting multiple formats including PNG, JPG, WebP, SVG, GIF, and more.
๐ Live Site: png2jpg.co
What started as a simple PNG to JPG converter has evolved into a comprehensive image format conversion tool. The focus is on:
# Clone the repository
git clone [email protected]:DominicFrei/png2jpg.co.git
cd png2jpg.co
# Install dependencies
npm install
# Start development server
npm run dev
Visit http://localhost:5173
to see the app running.
This project has comprehensive test coverage including unit tests, browser tests, and end-to-end tests.
# Run all tests (unit + e2e)
npm test
# Run only unit tests
npm run test:unit
# Run only e2e tests
npm run test:e2e
# Run unit tests in watch mode (development)
npm run test:unit -- --watch
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run format # Format code with Prettier
npm run lint # Check formatting and run ESLint
npm run check # TypeScript validation with svelte-check
src/
โโโ lib/
โ โโโ components/ # Svelte components
โ โ โโโ ImageConverter.svelte
โ โ โโโ Header.svelte
โ โ โโโ Footer.svelte
โ โโโ services/ # Business logic
โ โ โโโ ImageConverter.ts
โ โโโ sections/ # Page sections
โ โโโ icons/ # SVG icon components
โโโ routes/ # SvelteKit routes
โ โโโ +page.svelte # Homepage
tests/
โโโ unit/ # Unit tests
โโโ e2e/ # End-to-end tests
โโโ fixtures/ # Test assets
The project maintains high code quality through:
The site is automatically deployed using GitHub Actions:
# Build the project
npm run build
# Deploy to Firebase (requires Firebase CLI)
firebase deploy
The app includes a web manifest for PWA installation:
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature
)npm test
)npm run format && npm run lint && npm run check
)git commit -m 'Add amazing feature'
)git push origin feature/amazing-feature
)This project is open source and available under the MIT License.
Made with โค๏ธ for the web community