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 metamorphosisrestaurant365@gmail.com.