📗 Table of Contents
Welcome to PromptPal, a creative prompts sharing application built with Next.js, React, MongoDB, Tailwind CSS, and NextAuth! PromptPal is designed to inspire creativity and encourage users to engage in various creative activities by providing them with prompts for different things such as art, writing, photography, and more.
This README will guide you through the installation and usage of PromptPal, as well as provide an overview of its features.
- Next.js: A React framework for building server-rendered React applications.
- React: A JavaScript library for building user interfaces.
- MongoDB: A NoSQL database for storing prompt data.
- Tailwind CSS: A utility-first CSS framework for styling the application.
- NextAuth: Authentication library for Next.js applications.
- Prompt Sharing: Users can create and share prompts for various creative activities.
- Prompt Categories: Prompts can be organized into categories like Art, Writing, Photography, and more.
- User Authentication: Secure authentication using NextAuth to ensure user data privacy and personalized experiences.
- Responsive Design: A responsive and visually pleasing user interface built with Tailwind CSS.
- Check out PromptPal app here.
To get a local copy up and running, follow these steps.
Before setting up PromptPal, ensure you have Node.js and npm installed, Git for repository cloning, a running MongoDB Atlas instance with a connection string (URI) ready, a code editor, an internet connection, and a supported web browser. Additionally, if using Google as an authentication provider, you'll need a Google Developer account, OAuth client credentials, an OAuth consent screen, and properly defined authorized redirect URIs for Google authentication via NextAuth. Make reference to this article to get a better understanding.
Clone or download the PromptPal repository to your local machine.
git clone git@github.com:christianonoh/prompt-pal.git
Open your terminal and navigate to the cloned project directory.
npm install
- Create a .env.local file in the project root and provide the following variables:
GOOGLE_ID=your_google_id
GOOGLE_CLIENT_SECRET=your_client_secret
MONGODB_URI=your_mongodb_uri
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_URL_INTERNAL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret_key
- Note: NEXTAUTH_SECRET can be generated using
$ openssl rand -base64 32
in your terminal.
Start the server to run the application locally.
npm run dev
Open your web browser and go to http://localhost:3000/
and add an endpoint to access your desired data.
👤 Christian Onoh
- GitHub: @christianonoh
- Twitter: @onohchristian
- LinkedIn: Christian Onoh
- Comments and Likes: Users can interact with prompts by leaving comments and liking their favorite prompts.
- User Profiles: Users can create and customize their profiles with avatars and personal information.
- Search and Filters: Easily search for prompts and filter by category or popularity.
We're committed to continuously improving PromptPal. If you encounter any issues or have suggestions for improvement, please submit an issue or if you'd like to contribute, please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and ensure the code is well-documented.
- Test your changes thoroughly.
- Submit a pull request with a clear description of your changes.
If you like this project please give it a star ⭐️. Thanks for your support!
Thanks to all the PromptPal contributors/team.
This project is MIT licensed.