Skip to content

(WIP) πŸ¦€ Next Level Blazingly Fast πŸš€ Full Stack Trip Planning SaaS Platform Powered by Dioxus, Dioxus Server Functions, Axum, Unsplash, AWS Bedrock AI & MongoDB.

License

Notifications You must be signed in to change notification settings

opensass/tripper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—ΊοΈ Tripper πŸ€–

Made-with-Rust Rust Maintenance License

Open SASS Discord

arch

πŸš€ About Tripper

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.

πŸ› οΈ Pre-requisites

  1. Install rustup:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  2. Install Dioxus CLI:

    cargo install [email protected]
  3. Fork/Clone the Repository:

    git clone https://github.com/opensass/tripper

πŸ”‘ Setting Up Environment Variables

Before running Tripper, configure the environment variables to connect to external services such as MongoDB, Unsplash, Google Maps and AWS Bedrock. Here's how:

Create an .env File

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.

πŸ₯‘ MongoDB Setup

Follow this guide to set up your MongoDB database and establish a connection with Tripper.

πŸ” Generate a JWT Secret Key

Use OpenSSL to create a secure JWT secret key and update your .env file.

openssl rand -hex 128

✨ Set Up AWS Bedrock

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.

πŸ“Έ Unsplash API

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.

πŸš€ Running the Application

  1. Start the client:

    dx serve --port 3000
  2. 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!

βœ… Features

  • 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.

πŸ› οΈ Project Structure

  • Components: Reusable UI components like navbar and footer 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.

πŸ‘¨β€πŸ’» Data Models

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.

About

(WIP) πŸ¦€ Next Level Blazingly Fast πŸš€ Full Stack Trip Planning SaaS Platform Powered by Dioxus, Dioxus Server Functions, Axum, Unsplash, AWS Bedrock AI & MongoDB.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages