In progress...
StoryLoom can generate bedtime stories using AI based on the child's age, likings, behaviors, and more. We use generative TTS to read the stories to the child.
storyloom/
├── apps/
│ ├── python/ # Python backend application
│ └── web/ # Next.js web application
├── package.json # Root package configuration
├── pnpm-workspace.yaml # pnpm workspace configuration
└── turbo.json # Turbo monorepo configurationBefore you begin, ensure you have the following installed:
- Node.js (v18 or later)
- pnpm (v8 or later)
- Python (v3.8 or later)
git clone https://github.com/<your-username>/storyloom.git
cd storyloompnpm installMake a copy of the .env.example file and name it .env for each application under the apps/ directory.
cp apps/web/.env.example apps/web/.env
cp apps/python/.env.example apps/python/.envMake sure to fill in the values for the environment variables.
Make sure your AWS credentials has the following managed policies:
- AmazonDynamoDBFullAccess
- AmazonAPIGatewayAdministrator
- AmazonS3FullAccess
- AWSCloudFormationFullAccess
- AWSLambda_FullAccess
- Create a two tables called
storyloom-usersandstoryloom-authin DynamoDB - Setup auth table to have partition key as
pkand sort key assk. You may also create a global secondary index on theemailattribute. - Setup user table to have partition key as
email.
turbo dev- Open http://localhost:3000 in your browser
- You should see the Storyloom homepage
- Try signing in to test authentication
We welcome contributions! Here's how you can help:
- Report bugs or request features by creating an issue
- Submit code changes by making a pull request to solve existing issues
- Fork this repository
- Clone your fork
- Add the upstream remote:
git remote add upstream https://github.com/tiluckdave/storyloom.git - Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test them
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow the existing code style and conventions
- Use TypeScript for type safety
- Write meaningful commit messages
Make sure to run turbo lint and turbo check-types to check for any errors.