Tripper is a modern travel assistant leveraging AWS Bedrock models to enhance your trip planning and exploration. With powerful integrations, streamlined data models, and a modular design, Tripper makes organizing, customizing, and experiencing your journeys effortless.
-
Install
rustup
:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Install
Dioxus CLI
:cargo install dioxus-cli@0.5.6
-
Fork/Clone the Repository:
git clone https://github.com/opensass/tripper
Before running Tripper, configure the environment variables to connect to external services such as MongoDB, Unsplash, Google Maps and AWS Bedrock. Here's how:
Copy the example environment file and update it with your credentials.
cp .env.example .env
.env
Variables:
MONGODB_USR=
MONGODB_PWD=
MONGODB_CLSTR=your-cluster.mongodb.net
MONGODB_DB_NAME=tripper
JWT_SECRET=
UNSPLASH_API_KEY=
AWS_REGION=
AWS_PROFILE=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_CONTAINER_CREDENTIALS_FULL_URI=
AWS_CONTAINER_AUTHORIZATION_TOKEN=
AWS_SDK_UA_APP_ID=
Note
Visit the respective service portals (AWS, MongoDB, Google Maps and Unsplash) to generate any missing credentials.
Follow this guide to set up your MongoDB database and establish a connection with Tripper.
Use OpenSSL to create a secure JWT secret key and update your .env
file.
openssl rand -hex 128
AWS Bedrock provides the AI capabilities that power Tripper's smart recommendations and trip planning features. Ensure your AWS Bedrock environment is configured by setting up the required access keys and credentials in your .env
file.
Tripper integrates with the Unsplash API for sourcing high-quality images. Obtain an API key from the Unsplash Developer Portal and include it in your .env
file.
-
Start the client:
dx serve --port 3000
-
Navigate to
http://localhost:3000
to explore the Tripper landing page.
Note: The initial build might take a few minutes, but the results are worth the wait!
- Full support for AWS Bedrock models, including Claude 3 and other advanced AI solutions.
- Intelligent trip planning with high-quality image integration.
- Secure user authentication and role management.
- Components: Reusable UI components like
navbar
andfooter
ensure consistency and maintainability. - Server: Organized with the MVC pattern for clear separation of concerns. This includes models, controllers, and response handlers.
- Pages: All app views (e.g.,
dashboard
,home
) are modularized for straightforward updates.
This structure keeps the project scalable and easy to navigate as it grows.
Tripper uses MongoDB for data storage, with well-defined models for efficiency and scalability:
- User π§βπΌ: Manages user credentials, profiles, and roles for secure access.
- Trip π: Tracks trip details such as title, type, topics, and timestamps.
- Detail π: Stores trip daily details content in both markdown and HTML formats for flexibility.
- Conversation π¬: Records AI interactions for reference and analysis.
- Message π: Logs individual messages in conversations for traceability.