No description
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| backend | ||
| dist | ||
| node_modules | ||
| public | ||
| src | ||
| .DS_Store | ||
| .env | ||
| .env.development | ||
| .env.production | ||
| .gitignore | ||
| bun.lockb | ||
| CLAUDE.md | ||
| components.json | ||
| deploy.sh | ||
| eslint.config.js | ||
| index.html | ||
| mermaid-flow.md | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| semblance.service | ||
| semblance_app_documentation.md | ||
| start.sh | ||
| tailwind.config.ts | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
Semblance Synthetic Society
A platform for creating and managing synthetic personas for focus groups and market research.
Project info
URL: https://lovable.dev/projects/ee7a424f-7f6c-4b5d-9645-e66074cea7d3
Features
- Create and manage synthetic personas with detailed profiles
- Organize personas into focus groups
- Run interactive focus group sessions
- Analyze results and extract insights
- MongoDB-based backend for data persistence
- User authentication and access control
Getting Started
Prerequisites
- Node.js & npm installed - install with nvm
- Python 3.8+ installed for the backend
- MongoDB installed and running locally (default configuration: mongodb://localhost:27017)
Installation
# Step 1: Clone the repository
git clone <YOUR_GIT_URL>
# Step 2: Navigate to the project directory
cd <YOUR_PROJECT_NAME>
# Step 3: Install frontend dependencies
npm install
# Step 4: Install backend dependencies
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
cd ..
Running the Application
Use the provided start script to run both frontend and backend:
./start.sh
The start script will:
- Check for and start MongoDB if needed
- Set up the Python virtual environment
- Install dependencies
- Populate the database with sample personas and focus groups
- Start both the backend and frontend servers
Or run them separately:
# Start the backend
cd backend
source venv/bin/activate
python run.py
# In another terminal, run the frontend
npm run dev
The frontend will be available at http://localhost:5173 The backend API is available at http://localhost:5137/api
Default Login
- Username: user
- Password: pass
Technology Stack
Frontend
- Vite
- TypeScript
- React
- React Router
- shadcn-ui
- Tailwind CSS
- Axios for API requests
Backend
- Python
- Flask
- PyMongo (MongoDB client)
- JWT for authentication
Project Structure
/src: Frontend source code/components: React components/contexts: React contexts for state management/hooks: Custom React hooks/lib: Utility functions and API client/pages: Main application pages/types: TypeScript type definitions
/backend: Python backend/app: Flask application/models: Database models/routes: API endpoints
run.py: Backend entry point
Deployment
The application is configured to be deployed at the /semblance/ path. For hosting:
-
Build the frontend:
npm run build -
Deploy the backend using a WSGI server like Gunicorn:
cd backend gunicorn -w 4 "app:create_app()"
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request