View Demo - API Docs - Report Bug
Ranner empowers users to easily plan and manage every detail of their travel plans. This means balancing information with simplicity. Users are given an experience that enables them to consider the numerous variables of traveling, while also being able to expeditiously move forward with their planning. Ranner has the enabling balance for great trip planning!
The Ranner Homepage keeps it simple
- Intelligent Flight Search: Leveraging the Amadeus API for real-time flight data
- Airport Autocomplete: Smart suggestions for origin and destination airports
- Trip Organization: Create and manage multiple trips with custom details
- Profile Management: Personalized user profiles with trip history
- Responsive Design: Seamless experience across desktop and mobile devices
- Account Creation
- Register for a new account or log in
- Set up your profile with personal details
- Trip Planning
- Create a new trip by selecting origin and destination
- Choose travel dates and number of passengers
- Browse available flights with detailed # and itinerary information
- Trip Management
- View all your planned trips in one place
- Edit trip details or remove trips as needed
- Access detailed flight information for each trip
- React 18
- React Router v6
- React Bootstrap
- Vite
- JWT Authentication
- Node.js
- Express
- PostgreSQL
- Amadeus Travel API
- Jest
- React Testing Library
- Node.js (v18 or higher)
- npm or yarn
- PostgreSQL
- Clone the repository:
git clone https://github.com/yourusername/ranner.git
cd ranner
- Install dependencies:
npm install
- Set up environment variables: Create a
.env
file in the root directory and add:REACT_APP_BASE_URL=your_backend_url
AMADEUS_CLIENT_ID=your_amadeus_client_id
AMADEUS_CLIENT_SECRET=your_amadeus_client_secret
- Start the development server:
npm run dev
The application will be available at http://localhost:3000
- Fork the repository
- Create your feature branch (git checkout -b feature/AmazingFeature)
- Commit your changes (git commit -m 'Add some AmazingFeature')
- Push to the branch (git push origin feature/AmazingFeature)
- Open a Pull Request (PR)
Please ensure your PR follows the project's coding standards and includes appropriate tests.
Run the test suite:
npm test
For coverage report:
npm run test:coverage
Ranner uses the Amadeus Travel API for flight data. The API provides:
- Flight search and booking
- Airport and city information
- Real-time flight status
- # information
View Amadeus API Documentation
Trip creation begins with a simple origin and destination search Then the details are added Select a flight form the up-to-date list All of a user's Trip are here.
- Integration with hotel booking services
- Car rental reservations
- Trip itinerary sharing
- Travel expense tracking
- Mobile application
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Amadeus for providing the travel API
- React Bootstrap for UI components
- Homepage photo by Tom Barrett
- Special thanks to my mentor and the contributors
For support, email ranner.flop468@passmail.com or open an issue in the Github repository.
Ranner utilizes the Amadeus Travel API for the most current and comprehensive travel data. Currently, Ranner gets flight, airport, and city data from Amadeus, because of Ranner's focus on a simplistic experience, but Amadeus has a wealth of information--everything from city accomodations to rental cars, and even the probability of a flight to be on time, based on the routes history. "Amadeus provides a rich set of APIs for the travel industry." You can explore the Amadeus API at the link to the docs below. They also offers an SDK which is what Ranner utilizes. Amadeus API Docs
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh