WordSchmit is an AI-powered content creation platform that helps businesses generate personalized content across multiple platforms. It uses advanced language models to create content that matches your brand voice and business context.
- AI-Powered Content Generation: Create blog posts, LinkedIn posts, and Twitter content using GPT-4
- Personalized Content: Content tailored to your business context and voice profile
- Multi-Platform Support: Generate content for different platforms with appropriate formatting
- Version Control: Track content revisions and maintain content history
- User Management: Secure authentication and profile management
- API Key Management: Secure storage and management of OpenAI API keys
- React 18
- TypeScript
- ShadcnUI
- React Router
- Context API for state management
- Node.js
- Express
- TypeScript
- Prisma (ORM)
- PostgreSQL
- OpenAI GPT-4
- JWT Authentication
- Docker for database
- npm for package management
- Environment variables for configuration
- Node.js (v18 or higher)
- Docker and Docker Compose
- PostgreSQL
- OpenAI API key
- Clone the repository:
git clone [repository-url]
cd wordschmit- Install dependencies:
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm install- Set up environment variables:
# In backend directory
cp .env.example .envEdit .env file with your configuration:
DATABASE_URL="postgresql://user:password@localhost:5432/wordschmit"
JWT_SECRET="your-secret-key"
CORS_ORIGIN="http://localhost:5173"- Start the database:
# In backend directory
docker-compose up -d- Run database migrations:
# In backend directory
npx prisma migrate deploy- Start the development servers:
# Start backend (in backend directory)
npm run dev
# Start frontend (in frontend directory)
npm run devwordschmit/
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── contexts/
│ │ ├── pages/
│ │ └── App.tsx
│ ├── package.json
│ └── vite.config.ts
├── backend/
│ ├── src/
│ │ ├── routes/
│ │ ├── services/
│ │ ├── middleware/
│ │ └── index.ts
│ ├── prisma/
│ │ └── schema.prisma
│ └── package.json
├── docker-compose.yml
└── README.md
POST /api/auth/register: Register new userPOST /api/auth/login: User login
GET /api/profile: Get user profilePUT /api/profile: Update profilePOST /api/profile/settings: Update API settings
GET /api/content: Get all user contentPOST /api/content/generate: Generate new contentGET /api/content/:id: Get specific contentPUT /api/content/:id: Update contentDELETE /api/content/:id: Delete content
- JWT-based authentication
- Secure API key storage
- Password hashing
- CORS protection
- Input validation
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
[License Type] - See LICENSE file for details