BoothBuddy is a progressive web application (PWA) designed to streamline the process of analyzing vendor booths at trade shows and events. Using a combination of OpenAI, Vue.js, TailwindCSS, and Appwrite, it provides a set of tools for booth analysis, including image capture, booth analysis using AI, and detailed reporting.
The application aims to empower event participants to gain valuable insights into booth performance, market positioning and vendor information. It provides a user-friendly interface for capturing booth images, analyzing them using AI, and storing the results in a database. The application also provides a dashboard for managing booth data and detailed company information.
- Vue.js: A progressive JavaScript framework used for building user interfaces.
- TailwindCSS: A utility-first CSS framework for rapid UI development.
- Appwrite: An open-source backend server that simplifies the coding process by providing a set of development tools like Database, Authentication, Cloud Functions, and more.
- OpenAI: A powerful AI model that can analyze images and provide detailed information about the content.
- Node.js (LTS)
- NPM or Yarn
- An Appwrite account with a project set up
- API keys for Appwrite services
- Clone the repository:
git clone https://github.com/yourusername/boothbuddy.git
cd boothbuddy
- Install dependencies:
npm install
# or
yarn install
- Environment Variables:
Copy the .env.example
file to a .env
file and fill in the details for your Appwrite project, API keys and prompt for the OpenAI API.
- Run the development server:
npm run dev
# or
yarn run dev
Open http://localhost:3000 to view the app in your browser.
To get the full functionality of BoothBuddy, you need to set up several services within your Appwrite project:
- Database: Create collections for storing booth data.
- Storage: Set up storage for booth images.
- Functions: Deploy function for image analysis with AI.
- Authentication: Configure authentication methods for users.
Refer to the official Appwrite documentation for detailed instructions.
components/Navbar.vue
: Handles navigation and displays user authentication state.components/Footer.vue
: Provides application credits and links.pages/dashboard.vue
: Main interface for booth management.pages/capture/new.vue
: Interface for capturing new booth images.pages/company-details/[id].vue
: Displays detailed analysis and company information.services/analyzeImage.js
: Function for analyzing images using AI.services/boothService.js
: Service for interacting with Appwrite database and storage.stores/boothStore.js
: Store for managing booth data.stores/auth.js
: Store for managing user authentication.
We adhere to a Code of Conduct that we expect project participants to respect. Please read the full text so that you can understand what actions will and will not be tolerated. Adherence to the Code of Conduct ensures all people are welcome to participate in contributing to BoothBuddy.
This project is licensed under the MIT License - see the LICENSE.md file for details.