A collaborative platform where users can easily create, play, and share their own interactive "Choose-Your-Own-Adventure" stories.
- No account needed to play: Dive right into adventures created by others.
- Adventure Builder: Craft your own unique stories with an intuitive interface (requires account).
- Share your creations: Let others experience your tales and get feedback.
- User profiles: Showcase your authored adventures on your personal page.
- Simple landing page for easy navigation
- User registration and login for adventure creation and saving
- Straightforward Adventure Builder tool
- Publicly viewable adventures with no account required
- Profile pages to display each user's creations
Frontend:
- React
- @emotion/react, @emotion/styled (styling)
- @mui/material, @mui/icons-material (UI components)
- react-router-dom (routing)
Backend:
- Express
- Node.js
- MongoDB
- mongoose (database interaction)
Prerequisites:
- Node.js (v20.9.0 or later)
- npm
Steps:
- Clone the repository:
git clone https://github.com/guy-jerome/Build-Your-Own-Adventure.git
- Install dependencies:
cd Build-Your-Own-Adventure
npm install
- Start the development servers:
- In one terminal:
npm start
- In another terminal:
npm run dev
- In one terminal:
- Access the application in your browser, at
http://localhost:3000
.
- Detailed deployment instructions will depend on your chosen hosting platform.
- Consider factors like environment configuration and database setup.
- The app is hosted in a limited form on heroku: https://build-your-own-adventure-c6c8b738c5d4.herokuapp.com/
- While automated tests are not currently included, you can manually test features by interacting with the application in your browser.
We welcome contributions! Feel free to fork the repository and submit pull requests. Please adhere to our coding style guidelines and consider creating issues for discussions and feature requests.
This project is licensed under the MIT License: https://opensource.org/licenses/MIT.
- Project status: Currently in active development.
- Contact: For questions or support, please reach out to [your contact details].
Enjoy creating and sharing your own adventures!