A writing application designed to help children improve their writing skills through guided practice, AI-powered feedback, and progress tracking.
- Child profile management
- Age-appropriate writing topics
- Real-time writing interface
- AI-powered assessment and feedback
- Progress tracking and analysis
- Child-friendly interface
- React
- TypeScript
- Tailwind CSS
- React Router
- FastAPI
- OpenAI GPT
- PostgreSQL
- SQLAlchemy
- Python 3.8+
- Node.js 16+
- PostgreSQL
- OpenAI API key
- Clone the repository:
git clone https://github.com/yourusername/writing-dojo.git
cd writing-dojo- Set up the backend:
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt- Set up the frontend:
cd ../frontend
npm install
# or
yarn install-
Configure environment variables:
- Backend: Create
.envfile inbackend/directory - Frontend: Create
.envfile infrontend/directory
- Backend: Create
-
Start the development servers:
- Backend:
cd backend && uvicorn main:app --reload - Frontend:
cd frontend && npm start
- Backend:
writing-dojo/
├── backend/ # FastAPI backend
│ ├── agents/ # AI agents
│ ├── routers/ # API routes
│ ├── config.py # Configuration
│ └── main.py # FastAPI application
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── App.tsx # Main application
│ │ └── index.tsx # Entry point
│ └── package.json # Dependencies
└── README.md # Project documentation
- Create a new branch for your feature:
git checkout -b feature/your-feature-name- Make your changes and commit them:
git add .
git commit -m "Description of your changes"- Push your changes:
git push origin feature/your-feature-name- Create a pull request on GitHub
cd backend
pytestcd frontend
npm test
# or
yarn test- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for providing the GPT models
- The FastAPI and React communities for their excellent documentation and tools