A user-friendly Global Visa Hub platform that simplifies the process of exploring, applying, and managing visa applications.
- Frontend: React.js, Tailwind CSS, DaisyUI
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: Firebase Authentication
- Styling Framework: Tailwind CSS with DaisyUI components
- Notifications: SweetAlert2 for user-friendly alerts
-
Browse All Visas:
- Explore visas from different countries with detailed information such as visa type, processing time, required documents, fees, and more.
-
Add New Visas:
- Users can add new visas with specific details like country name, visa type, age restrictions, application method, etc.
-
User-Specific Visas:
- Added visas are displayed both in the "All Visas" section and a dedicated "My Added Visas" section for easy management.
-
Filter Visas by Type:
- Easily filter visas based on categories like "Tourist Visa," "Student Visa," and "Official Visa."
-
Real-Time Updates:
- Newly added visas are automatically updated on all relevant pages without needing a page refresh.
-
Dynamic Details Page:
- Each visa includes a "See Details" option that provides a detailed view with specific information.
-
Responsive Design:
- The platform is fully responsive, ensuring seamless usability across devices like mobile, tablet, and desktop.
-
Admin Features:
- Admins can manage visa applications, including CRUD (Create, Read, Update, Delete) operations for visas.
This guide will help you set up and run both the frontend and backend of your project locally using npm.
The following packages are required for the application to function properly:
@headlessui/react
- UI components for accessible interactions@stripe/react-stripe-js
,@stripe/stripe-js
- Stripe integration for payments@tanstack/react-query
- Data fetching and cachingaxios
- HTTP client for API requestschart.js
,react-chartjs-2
- Chart visualizationdate-fns
- Date manipulationfirebase
- Firebase services (Auth, Firestore, etc.)localforage
- Client-side storagematch-sorter
- Sorting and filtering utilitiesreact
,react-dom
- Core React libraryreact-fast-marquee
- Marquee scrolling effectreact-helmet-async
- SEO metadata managementreact-hot-toast
- Notifications and toast messagesreact-icons
- Icon libraryreact-responsive-carousel
- Carousel componentreact-router-dom
- Routingreact-slick
,slick-carousel
- Carousel UIsort-by
- Sorting utilitiessweetalert2
- Alert and modal popupsswiper
- Swiping functionality
These packages assist in development but are not included in production builds:
@eslint/js
,eslint
,eslint-plugin-react
,eslint-plugin-react-hooks
,eslint-plugin-react-refresh
- Linting and code quality@types/react
,@types/react-dom
- TypeScript support for React@vitejs/plugin-react
- React plugin for Viteautoprefixer
,postcss
,tailwindcss
,daisyui
- CSS utilities and frameworkvite
- Build tool and development serverglobals
- Shared global variables
Follow these steps to set up and run the project on your local machine using npm.
Ensure you have the following installed:
- Node.js (Latest LTS version recommended) - Download Here
- npm (Comes with Node.js)
- Git (Optional, for cloning the repository)
If you haven't cloned the project yet, run:
git clone https://github.com/abdulmazidakash/c-assignment-10-visa-navigating-client.git
cd c-assignment-10-visa-navigating-client
Run the following command to install all required packages:
npm install
Create a .env
file in the root directory and add the necessary environment variables. Example:
REACT_APP_API_KEY=your_api_key_here
REACT_APP_FIREBASE_CONFIG=your_firebase_config_here
📌 Ensure you get the correct values from your Firebase, Stripe, or API providers.
Run the following command to start the local development server:
npm run dev
This will start the Vite development server, and you should see the project running at:
http://localhost:5173
To create an optimized production build, run:
npm run build
To preview the production build locally:
npm run preview
Now you can start developing and testing the project locally. 🚀