Skip to content

How many passports do you need to visit the whole world without visa? checkout the answer with this tiny react app ๐Ÿคฉ

Notifications You must be signed in to change notification settings

elkolotfi/free-pass-porter

Repository files navigation

๐ŸŒŽ Free Pass Porter ๐Ÿ›‚

Welcome to the Free Pass Porter! Your one-stop shop for figuring out where you can jet off to without the hassle of visa paperwork. โœˆ๏ธ

application screenshot

๐Ÿš€ Features

  • ๐Ÿ” Check visa requirements for multiple passports
  • ๐Ÿงฎ Combine passports for maximum travel freedom
  • ๐Ÿ๏ธ Discover new destinations you can visit visa-free
  • ๐ŸŽ›๏ธ Use filters to compare passport powers

๐Ÿ› ๏ธ Tech Stack

This project is built with some serious React superpowers:

  • โš›๏ธ React
  • ๐Ÿ“˜ TypeScript
  • โšก Vite
  • ๐Ÿงน ESLint & Prettier
  • ๐Ÿƒ Jest & React Testing Library

Notable tools and libraries:

  • ๐ŸŒ countries-list: For country data
  • ๐Ÿšฉ country-flag-icons: To display country flags
  • ๐Ÿ“Š papaparse: For parsing CSV data
  • ๐ŸŽจ react-icons: For a wide variety of icons
  • ๐Ÿ”ฝ react-select: For enhanced select inputs

๐Ÿ—๏ธ CI/CD Pipeline

We've got a slick CI/CD pipeline set up with GitHub Actions and Firebase Hosting:

graph LR
    A[Push to GitHub] -->|Trigger| B[GitHub Actions]
    B --> C{Run Tests}
    C -->|Pass| D[Build Project]
    C -->|Fail| E[Notify Developer]
    D --> F[Deploy to Firebase Hosting]
    F --> G[Site Live!]
Loading

Our pipeline ensures:

  • ๐Ÿงช All tests pass
  • ๐Ÿ“Š Code coverage is at least 80%
  • ๐Ÿšฆ Linting checks are green
  • ๐Ÿš€ Automatic deployment to Firebase Hosting

๐Ÿš€ Getting Started

  1. Clone this repo
  2. Run pnpm install to grab all the goodies
  3. pnpm dev to start your local server
  4. Visit the dev URL shown on your console and start exploring!

(you can use pnpm as I do or any package manager like regular npm or yarn)

๐Ÿงช Testing

We take testing seriously around here. Run the tests with:

npm test
# or
yarn test
# or
pnpm test

Remember, we need that sweet 80% coverage to keep our CI/CD pipeline happy!

๐Ÿค Contributing

Got ideas? Found a bug? We're all ears! Feel free to open an issue or submit a PR.

Make sure to successfully run:

npm prebuild
# or
yarn prebuild
# or
pnpm prebuild

This will run linting checks and ensure test coverage meets our standards.

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE.md file for details.

๐Ÿ™Œ Acknowledgments

  • Huge thanks to Ilya Ilyankou's passport-index-dataset for providing the valuable passport data that powers this application
  • Shoutout to all the passport-wielding globetrotters out there
  • Thanks to the amazing open-source community for the tools that made this possible

Now go forth and travel the world! ๐ŸŒ๐ŸŒŽ๐ŸŒ

About

How many passports do you need to visit the whole world without visa? checkout the answer with this tiny react app ๐Ÿคฉ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages