This repository contains the server-side code for the Visa Navigator application. The server handles all backend functionalities, including data storage, authentication, and API endpoints for managing visa-related information.
- Visa Information: Users can easily browse and check visa requirements for various countries, including processing time, fee, required documents, and more.
- User Authentication: Secure login and registration using Firebase Authentication (including Google sign-in).
- Add & Manage Visas: Users can add visa details and manage their own added visas.
- Apply for Visas: Users can apply for visas by submitting their details and tracking their visa applications.
- Responsive Design: Fully responsive, ensuring a smooth experience on mobile, tablet, and desktop devices.
- CRUD Operations: Create, Read, Update, and Delete visa data with intuitive interactions.
- Features
- Technologies
- Getting Started
- Setup
- Environment Variables
- API Endpoints
- Authentication
- License
- Contributing
- User authentication and authorization
- CRUD operations for visa information
- Filtering and searching visas
- Dark/Light theme toggle
- Responsive design for all device sizes
- Node.js
- Express.js
- MongoDB (for storing visa data and applications)
- Firebase for user authentication
- Tailwind CSS for styling
- Node.js(version 14 or higher)
- Express.js
- npm (version 6 or higher)
- MongoDB (local or Atlas)
The following environment variables need to be set:
- PORT: The port number on which the server will run.
- MONGO_URI: The MongoDB connection string.
- POST /api/auth/register: Register a new user
- POST /api/auth/login: Login a user and return a JWT token
- GET /api/visas: Get all visas
- POST /api/visas/add: Add a new visa
- PUT /api/visas/:id: Update a visa by ID
- DELETE /api/visas/:id: Delete a visa by ID
-
Visa Type Filter: Dropdown filter on the "All Visas" page to filter visas by type.
-
Search Functionality: Search by country name on the "My Visa Applications" page.
-
Theme Toggle: Dark/Light theme toggle on the home page.
-
Animations: Lottie and React Awesome Reveal for engaging animations.
- Node.js and npm installed on your machine.
- Modern web browser (Chrome/Edge) with support for the Web Speech API.
-
Clone the repository: https://github.com/programming-hero-web-course2/b10-a10-server-side-DeveloperMonirBD.git
-
Install the dependencies:
bash npm install
-
Start the development server:
bash npm start
- Open your browser and navigate to https://visa-navigator-bb0c9.web.app to view the application.
-
Assignment Category:
Sunflower
-
Your client-side code GitHub repository link : https://github.com/programming-hero-web-course2/b10-a10-client-side-DeveloperMonirBD
-
Your server-side code GitHub repository link: https://github.com/programming-hero-web-course2/b10-a10-server-side-DeveloperMonirBD
-
Live link to the deployed project : https://visa-navigator-bb0c9.web.app