The Interactive Story Platform is an engaging web application built using the MERN stack. It offers users a dynamic storytelling experience where they can generate stories based on custom prompts or explore predefined storylines that evolve based on their choices. The platform integrates various features to ensure a seamless and captivating user experience.
- Sign Up: Create a new account with ease.
- Login: Securely log in to access personalized features.
- Password Reset: Recover your account using the reset password option.
- Homepage: A welcoming dashboard with links to:
- About: Learn more about the platform.
- Contact: Reach out for support or inquiries.
- Stories: Access the main storytelling feature.
- Custom Story Prompts: Use your imagination to create stories from scratch with custom prompts powered by the Gemini API.
- Predefined Stories: Dive into interactive tales where your choices determine the narrative’s progression.
- HTML, CSS: For a professional and aesthetic design.
- React.js: To build a responsive and dynamic user interface.
- Node.js & Express.js: Middleware to manage API requests and application logic.
- MongoDB Atlas: Secure and scalable storage for user data and story records.
- Gemini API: Enables dynamic generation of story prompts.
Ensure you have the following installed:
- Node.js
- MongoDB Atlas (or a local MongoDB instance)
- Git
- Clone the repository:
git clone <repository_url>
- Navigate to the project directory:
cd interactive-story-platform
- Install dependencies:
npm install
- Set up environment variables:
- Create a
.env
file in the root directory. - Add the following:
MONGODB_URI=<your_mongodb_connection_string> GEMINI_API_KEY=<your_gemini_api_key> PORT=<desired_port>
- Create a
- Start the application:
npm start
- Open your browser and navigate to
http://localhost:<PORT>
.
- Sign Up or Login: Create an account or log in with your credentials.
- Explore the Homepage: Navigate through the About, Contact, and Stories sections.
- Generate a Story: Enter a custom prompt to create a story or select a predefined headline.
- Play a Story: Make choices that influence the storyline’s outcome.
- Leaderboard: Showcase top story creators or participants.
- Community Features: Allow users to share and rate each other's stories.
- Advanced Story Options: Introduce more complex branching narratives.
We acknowledge the efforts of the following individuals who made this project possible:
- Pranav Rajesh Narayan
- Pranjalaa Rai
- Roshini Ramesh
Contributions are welcome! Please fork the repository and submit a pull request with your improvements or new features.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or feedback, please reach out at [email protected].