PromptShare is a modern web platform for sharing, discovering, and collaborating on AI prompts. It allows users to create, share, and iterate on prompts while engaging with the community through features like comments, ratings, and collaborative improvements.
-
🚀 Prompt Management
-
Create and share AI prompts
-
Version control for prompt iterations
-
Rich text editing support
-
Categories and tags for organization
-
👥 Community Interaction
-
Like/dislike prompts
-
Comment on prompts
-
Star prompts for later reference
-
Fork prompts to create variations
-
Report issues and suggest improvements
-
🔍 Discovery
-
Browse latest prompts
-
Explore trending prompts
-
Search by keywords, categories, or tags
-
Filter by popularity and date
-
👤 User Features
-
User profiles and dashboards
-
Activity feed
-
OpenAI API key management for testing prompts
-
Dark/light mode support
- Next.js 14 (App Router)
- React
- TypeScript
- Tailwind CSS
- shadcn/ui components
- Lucide React icons
- Ruby on Rails 7
- PostgreSQL
- JWT authentication
- Active Storage
- Sidekiq for background jobs
- Node.js 18+
- Ruby 3.2.2
- PostgreSQL
- Redis (for Sidekiq)
- Clone the repository:
git clone https://github.com/yourusername/promptshare.git
cd promptshare
- Install dependencies:
yarn install
- Create a
.env.localfile:
NEXT_PUBLIC_API_URL=http://localhost:3000/api/v1
- Start the development server:
yarn dev
- Navigate to the backend directory:
cd backend
- Install dependencies:
bundle install
- Set up the database:
rails db:create db:schema:load db:seed
- Start the Rails server:
rails server
- In a separate terminal, start Sidekiq:
bundle exec sidekiq
NEXT_PUBLIC_API_URL: Backend API URL
DATABASE_URL: PostgreSQL connection URLREDIS_URL: Redis connection URLJWT_SECRET: Secret key for JWT tokensENCRYPTION_KEY: Key for encrypting sensitive dataGMAIL_USERNAME: Email service usernameGMAIL_PASSWORD: Email service password
API documentation is available at /api/docs when running the backend server in development mode.
POST /api/v1/login: User authenticationPOST /api/v1/users: User registrationGET /api/v1/prompts: List promptsPOST /api/v1/prompts: Create promptGET /api/v1/prompts/:id: Get prompt detailsPUT /api/v1/prompts/:id: Update promptDELETE /api/v1/prompts/:id: Delete promptPOST /api/v1/prompts/:id/fork: Fork promptPOST /api/v1/prompts/:id/star: Star promptPOST /api/v1/prompts/:id/like: Like promptPOST /api/v1/prompts/:id/issues: Create issue
yarn test
bundle exec rspec
The project uses GitHub Actions for CI/CD:
- Frontend is deployed to Vercel
- Backend is deployed to Heroku
- Automated tests run on every pull request
- Automatic deployments on merges to main
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please make sure to update tests as appropriate and follow the existing code style.
This project is licensed under the MIT License - see the LICENSE file for details.
- shadcn/ui for the beautiful UI components
- Lucide for the icons
- All contributors who have helped shape this project
For support, please open an issue in the GitHub repository or contact the maintainers.
Built with ❤️ by the PromptShare Team