/prompt-me-tender

Prompt me Tender: your one-stop destination for personalized trip planning! With our innovative integration of Google Gemini AI API, Next.js, Node.js, and Cypress, we offer a seamless user experience for planning your dream getaway.

Primary LanguageJavaScriptMIT LicenseMIT

Prompt Me Tender

Logo

Overview

Prompt Me Tender is a web application designed to assist users in retrieving suggestion about a trip or an holiday to schedule. It only needs few details in order to accomplish its purpose. The application leverages a user-friendly interface and a robust backend to provide tailored prompts based on user input. It uses Gemini AI for prompting, Next.js as framework, Vercel for deployments plus React, Tailwindcss and shadcn for styling.

Demo

You can test the application by clicking here.

Table of Contents

Features

  • User-Friendly Interface: Intuitive design that allows users to easily navigate and generate prompts.
  • Customizable Prompts: Users can input specific criteria to receive tailored suggestion based on four variables.
  • Responsive Design: The application is optimized for both desktop and mobile devices.
  • Open Source: The project is open for contributions and improvements from the community.

Technologies Used

Installation

To set up the project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/Nefas666/prompt-me-tender.git
    cd prompt-me-tender
  2. Install dependencies:

    npm install
  3. Set up environment variables:

    Create a .env.local file in the main directory and add the necessary environment variables listed in this table:

Variable Description Options
API_KEY string Required. Your API key generated by your favourite AI model provider
BLOG_NAME the name of your project, displayed below the avatar
BLOG_TITLE the main header (h1) on the home page
BLOG_FOOTER_TEXT the text in the footer
BLOG_THEME the theme to pass to Tailwind default
BLOG_FONT_HEADINGS the font-family for all HTML headings, from h1 to h6 sans-serif (default), serif, monospace
BLOG_FONT_PARAGRAPHS the font-family for all other HTML elements sans-serif (default), serif, monospace
  1. Start the application:

    cd client
    npm run dev
  2. Access the application: Open your web browser and navigate to http://localhost:3000 to view the application.

Usage

  1. Generating Prompts: Enter your criteria in the input field and click the "Suggest" button to receive a prompt.
  2. Saving Prompts: Users can save their favorite prompts for future reference.
  3. Sharing Prompts: Users can share generated prompts with others via social media or direct links.
  4. Edit the original prompt: You can edit the API call prompt from the directory pages/generate.js, add components from shadcn manually in the components/ui/LibraryComponent.tsx.

Testing

Included Default Testing

We’ve included some tooling that helps us maintain these templates. This template currently uses:

  • Renovate - to regularly update our dependencies
  • Cypress - to run tests against how the template runs in the browser

If your team is not interested in this tooling, you can remove them with ease!

Removing Renovate

In order to keep our project up-to-date with dependencies we use a tool called Renovate. If you’re not interested in this tooling, delete the renovate.json file and commit that onto your main branch.

Removing Cypress

For our testing, we use Cypress for end-to-end testing. This makes sure that we can validate that our templates are rendering and displaying as we’d expect. By default, we have Cypress not generate deploy links if our tests don’t pass. If you’d like to keep Cypress and still generate the deploy links, go into your netlify.toml and delete the plugin configuration lines:

[[plugins]]
  package = "netlify-plugin-cypress"
-  [plugins.inputs.postBuild]
-    enable = true
-
-  [plugins.inputs]
-    enable = false

Contributing

Contributions are welcome! If you would like to contribute to the project, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Make your changes and commit them (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for more details.


For more information, visit the Prompt Me Tender website or check out the GitHub repository.