Website URL: https://b10-a10-projects.web.app
- Front-End: React, Tailwind CSS,
- Back-End: Node.js, Express.js, MongoDB
- Tools: Axios, Firebase.
-
Protected Routes
- 🛡️ The navigation bar contains five routes (excluding "Home").
- 🔒 Users must log in to access data on routes other than "Home."
-
Homepage Design
- 🎯 A banner or slider is featured at the top of the homepage.
- 🖼️ Includes an extra section below the banner.
- 🗂️ Displays a list of visas.
- ➕ Another extra section is included below the visa list.
- 📄 The page ends with a footer.
-
Firebase Integration
- 🔥 Firebase is used for authentication.
- 💾 MongoDB is used to store data.
- NPM Frameworks and Libraries Used
- 📝 React-simple-typewriter
- 🎥 Lottie React
- 💡 React Icons
-
Visa Features
- 🛂 Clicking on "Add Visa" navigates to the "Add Visa" route, where users can create visas by filling in detailed information.
- 🏠 Home and "My Added Visas" sections display created visas. All Visas Route
- 📂 Displays four categories of visas, organized by type.
- 🗂️ Clicking on a category shows all visas under that category.
-
My Added Visas Route
- ✅ Displays all visas created by the user.
- 🗑️ Includes "Delete" and "Update" buttons for managing visas.
-
My Visa Application Route
- 📋 Shows all visas the user has applied for.
- ❌ A "Cancel" button allows the user to cancel any visa application. 🔍 A search input lets users search visas by country name.
- 📦 Libraries and Tools Implemented
- 🎥 Lottie React: Used for animations to enhance user experience.
- 📝 React-simple-typewriter: Used for dynamic text effects.
This project uses the following npm packages for its functionality:
- **react (`^18.3.1`)**: A JavaScript library for building user interfaces.
- **react-dom (`^18.3.1`)**: Provides DOM-specific methods for React.
- **react-router-dom (`^7.0.2`)**: Enables routing for single-page applications in React.
- @lottiefiles/react-lottie-player (
^3.5.4
): A library to embed and control Lottie animations in React. - framer-motion (
^11.16.0
): A library for declarative animations and gestures in React. - lottie-react (
^2.4.0
): Another library to render and manipulate Lottie animations.
- @material-tailwind/react (
^2.1.10
): Tailwind CSS components for building modern UIs. - swiper (
^11.2.0
): A modern touch slider for implementing carousels and sliders in React.
- react-icons (
^5.4.0
): A library of popular icon sets for React. - react-responsive-carousel (
^3.2.23
): A carousel component optimized for responsive designs.
- react-toastify (
^10.0.6
): A library for customizable toast notifications. - sweetalert2 (
^11.14.5
): A library for creating beautiful and responsive popup alerts.
- localforage (
^1.10.0
): A library for offline storage using IndexedDB, WebSQL, or localStorage.
- axios (
^1.7.9
): A promise-based HTTP client for making API requests.
- match-sorter (
^8.0.0
): A utility for fuzzy matching and sorting arrays. - sort-by (
^1.2.0
): A simple utility for sorting objects by key or property.
- react-simple-typewriter (
^5.0.1
): A library for creating typewriter animations in React.
- firebase (
^11.0.2
): Provides backend services such as authentication, database, and cloud storage.
To install all the dependencies, run:
npm install