SearchPrompt is a Next.js application that allows users to search, create, and interact with AI prompts. It provides a platform for users to share and discover prompts for various AI models.
- User authentication (email/password and Google sign-in)
- Create and share AI prompts
- Search functionality for finding prompts
- Like/dislike system for prompts
- Responsive design for mobile and desktop
- Node.js (version 14 or later)
- npm or yarn
- Firebase account
- Vercel account (for deployment and Postgres database)
-
Clone the repository:
git clone https://github.com/gpercem/search-prompts.git cd search-prompts
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env.local
file in the root directory. You'll add the Firebase configuration variables to this file after setting up Firebase. -
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser to see the application.
-
Create a Firebase Project:
- Go to the Firebase Console.
- Click "Add project" and follow the prompts to create your project.
-
Set Up Firebase Authentication:
- In the Firebase Console, go to "Authentication" > "Sign-in method".
- Enable Email/Password and Google sign-in methods.
-
Create a Web App:
- In "Project settings", add a new web app.
- Copy the Firebase configuration object.
-
Set Up Firebase Admin SDK:
- In "Project settings" > "Service Accounts", generate a new private key.
- Save the JSON file securely.
-
Configure Environment Variables: Add the following to your
.env.local
file:NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id NEXT_PUBLIC_FIREBASE_CLIENT_EMAIL=your_client_email FIREBASE_PRIVATE_KEY="your_private_key"
Replace
your_*
with the actual values from your Firebase configuration and service account JSON. -
Initialize Firebase in Your App: Create
src/firebase/config.js
andsrc/firebaseAdmin.js
files to initialize Firebase and Firebase Admin SDK.
This application uses Vercel's Neon PostgreSQL database. Follow these steps to set up your database:
-
Create a new Postgres database in your Vercel project settings.
-
Once created, you'll receive a connection string. Add this to your
.env.local
file:POSTGRES_URL="your_connection_string_here"
-
Use the following SQL command to create the
prompts
table in your database:CREATE TABLE prompts ( post_id CHAR(6) PRIMARY KEY, title VARCHAR(255) NOT NULL, prompt TEXT NOT NULL, description TEXT, likes INT[] DEFAULT '{}', dislikes INT[] DEFAULT '{}', views INT DEFAULT 0, model_name VARCHAR(50), author VARCHAR(100) DEFAULT 'anonymous', created_at TIMESTAMP DEFAULT NOW(), edited_at TIMESTAMP DEFAULT NOW() );
-
(Optional) To add sample data to your database, you can use the following INSERT statement:
INSERT INTO prompts (post_id, title, prompt, description, model_name) VALUES ('d7a2f5', 'Design a mobile app for task management', 'You are tasked with creating a detailed specification for a mobile app focused on task management...', 'Develop a comprehensive task management app specification, including UI/UX, features, and integration options.', 'ChatGPT-4'), // ... (add more sample data as needed)
Remember to execute these SQL commands in your Vercel Postgres database console or through a database management tool connected to your Vercel Postgres instance.
- Click on the "Log in" button in the header to access the authentication page.
- Users can sign up with email/password or use Google sign-in.
- Click on the "Create Prompt" button in the header.
- Fill in the required fields: Title, Prompt Content, Description, and Model Name.
- Click "Create Prompt" to submit.
- Use the search bar on the home page or in the header.
- Enter keywords related to the prompt you're looking for.
- Press Enter or click the search icon to view results.
- Click on a prompt to view its details.
- Use the like/dislike buttons to rate prompts.
- Share prompts by copying the URL of the prompt page.
This project is designed to be deployed on Vercel. Follow these steps:
- Push your code to a GitHub repository.
- Connect your Vercel account to your GitHub account.
- Import the project from GitHub in the Vercel dashboard.
- Configure the environment variables in the Vercel project settings.
- Deploy the project.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
SearchPrompt, kullanıcıların yapay zeka promptlarını arayabildiği, oluşturabildiği ve etkileşimde bulunabildiği bir Next.js uygulamasıdır. Çeşitli yapay zeka modelleri için promptları paylaşmak ve keşfetmek isteyen kullanıcılara bir platform sunar.
- Kullanıcı kimlik doğrulama (e-posta/şifre ve Google girişi)
- Yapay zeka promptları oluşturma ve paylaşma
- Promptları bulmak için arama işlevi
- Promptlar için beğenme/beğenmeme sistemi
- Mobil ve masaüstü için duyarlı tasarım
- Node.js (sürüm 14 veya üzeri)
- npm veya yarn
- Firebase hesabı
- Vercel hesabı (dağıtım ve Postgres veritabanı için)
-
Depoyu klonlayın:
git clone https://github.com/gpercem/search-prompts.git cd search-prompts
-
Bağımlılıkları yükleyin:
npm install
-
Ortam değişkenlerini ayarlayın: Kök dizinde bir
.env.local
dosyası oluşturun. Firebase kurulumundan sonra bu dosyaya Firebase yapılandırma değişkenlerini ekleyeceksiniz. -
Geliştirme sunucusunu çalıştırın:
npm run dev
-
Uygulamayı görmek için tarayıcınızda http://localhost:3000 adresini açın.
- Bir Firebase Projesi Oluşturun
- Firebase Kimlik Doğrulamasını Ayarlayın
- Bir Web Uygulaması Oluşturun
- Firebase Admin SDK'yı Ayarlayın
- Ortam Değişkenlerini Yapılandırın
- Uygulamanızda Firebase'i Başlatın
Ayrıntılı Firebase kurulum talimatları için bu depodaki FIREBASE_SETUP.md dosyasına bakın.
Bu uygulama, Vercel'in Neon PostgreSQL veritabanını kullanmaktadır. Veritabanınızı kurmak için şu adımları izleyin:
-
Vercel proje ayarlarınızda yeni bir Postgres veritabanı oluşturun.
-
Oluşturulduktan sonra, bir bağlantı dizesi alacaksınız. Bunu
.env.local
dosyanıza ekleyin:POSTGRES_URL="bağlantı_dizeniz_buraya"
-
Veritabanınızda
prompts
tablosunu oluşturmak için aşağıdaki SQL komutunu kullanın:CREATE TABLE prompts ( post_id CHAR(6) PRIMARY KEY, title VARCHAR(255) NOT NULL, prompt TEXT NOT NULL, description TEXT, likes INT[] DEFAULT '{}', dislikes INT[] DEFAULT '{}', views INT DEFAULT 0, model_name VARCHAR(50), author VARCHAR(100) DEFAULT 'anonymous', created_at TIMESTAMP DEFAULT NOW(), edited_at TIMESTAMP DEFAULT NOW() );
-
(İsteğe bağlı) Veritabanınıza örnek veri eklemek için aşağıdaki INSERT ifadesini kullanabilirsiniz:
INSERT INTO prompts (post_id, title, prompt, description, model_name) VALUES ('d7a2f5', 'Görev yönetimi için mobil uygulama tasarımı', 'Görev yönetimine odaklanan bir mobil uygulama için detaylı bir şartname oluşturmakla görevlendirildiniz...', 'UI/UX, özellikler ve entegrasyon seçenekleri dahil kapsamlı bir görev yönetimi uygulaması şartnamesi geliştirin.', 'ChatGPT-4'), // ... (gerektiği kadar örnek veri ekleyin)
Bu SQL komutlarını Vercel Postgres veritabanı konsolunuzda veya Vercel Postgres örneğinize bağlı bir veritabanı yönetim aracı aracılığıyla çalıştırmayı unutmayın.
- Kimlik doğrulama sayfasına erişmek için başlıktaki "Giriş Yap" düğmesine tıklayın.
- Kullanıcılar e-posta/şifre ile kaydolabilir veya Google girişi kullanabilir.
- Başlıktaki "Prompt Oluştur" düğmesine tıklayın.
- Gerekli alanları doldurun: Başlık, Prompt İçeriği, Açıklama ve Model Adı.
- Göndermek için "Prompt Oluştur"a tıklayın.
- Ana sayfadaki veya başlıktaki arama çubuğunu kullanın.
- Aradığınız promptla ilgili anahtar kelimeleri girin.
- Sonuçları görmek için Enter tuşuna basın veya arama simgesine tıklayın.
- Ayrıntılarını görmek için bir prompta tıklayın.
- Promptları değerlendirmek için beğenme/beğenmeme düğmelerini kullanın.
- Prompt sayfasının URL'sini kopyalayarak promptları paylaşın.
Bu proje Vercel'de dağıtılmak üzere tasarlanmıştır. Şu adımları izleyin:
- Kodunuzu bir GitHub deposuna gönderin.
- Vercel hesabınızı GitHub hesabınıza bağlayın.
- Vercel kontrol panelinde GitHub'dan projeyi içe aktarın.
- Vercel proje ayarlarında ortam değişkenlerini yapılandırın.
- Projeyi dağıtın.
Katkılarınızı bekliyoruz! Lütfen bir Pull Request göndermekten çekinmeyin.
Bu proje MIT Lisansı altında lisanslanmıştır.