This application allows users to create and manage a wishlist of countries they would like to visit. Users can add, edit, mark as visited/unvisited, and delete countries from their personal wishlist. The app is built using Vue 3, state management is handled with Pinia, and Supabase is used for the backend and database. The application is deployed on Vercel.
- User Authentication (Sign up, Log in, Log out) using Supabase.
- Personalized wishlist for each user that includes:
- Adding countries to the wishlist.
- Editing country details.
- Marking countries as visited or unvisited.
- Deleting countries from the list.
- Clean and functional UI styled using Bulma.
- Global state management using Pinia.
- Fully integrated CRUD operations (Create, Read, Update, Delete) with Supabase.
- Vue 3: A JavaScript framework used for building the user interface.
- Pinia: State management library for Vue.js.
- Supabase: Backend-as-a-service platform used for managing authentication and database CRUD operations.
- Vite: A modern build tool that optimizes project development and builds.
- Bulma: CSS framework used to style the UI.
- Vercel: Cloud deployment platform where the app is hosted.
- GitHub Repository: The source code is versioned and hosted on GitHub.
- Online Deployment: The application is deployed on Vercel and accessible through a public URL.
- Development Best Practices:
- The app follows the KISS (Keep It Simple, Stupid) and DRY (Don’t Repeat Yourself) principles.
- All code is structured and clean to facilitate maintenance and scalability.
Clone this repository and navigate to the project directory:
git clone https://github.com/yourusername/your-repository.git
cd your-repositoryInstall the project dependencies:
npm installCompile and Run for Development To start the development server, run:
npm run devThis will open the app at http://localhost:3000 in your browser.
The project is deployed on Vercel. You can access the live version of the application at the following link:
Link to the live application on Vercel
If you'd like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-new-feature). - Make your changes and commit them (
git commit -m 'Add new feature'). - Push your branch (
git push origin feature-new-feature). - Open a Pull Request.