npx skills add https://github.com/maksimtereshin/biz-assess-platform --skill global-coding-styleInstala esta habilidad con la CLI y comienza a usar el flujo de trabajo SKILL.md en tu espacio de trabajo.
A comprehensive business self-assessment tool delivered through a Telegram bot and integrated web application.
This project follows a monorepo structure with three main components:
/backend): NestJS API server with TypeScript/frontend): React web application with Vite/shared): Common TypeScript types and interfacesClone the repository
git clone <repository-url>
cd BizAssPlatform
Start the development environment
docker-compose up -d
This will start:
Install dependencies locally (for development)
# Backend
cd backend
npm install
# Frontend
cd ../frontend
npm install
# Shared
cd ../shared
npm install
Copy the example environment file and configure your settings:
cp backend/.env.example backend/.env
Update the following variables in backend/.env:
TELEGRAM_BOT_TOKEN: Your Telegram bot tokenTELEGRAM_PAYMENTS_PROVIDER_TOKEN: Your Telegram Payments provider tokenJWT_SECRET: A secure secret key for JWT tokens├── backend/ # NestJS API server
│ ├── src/
│ │ ├── entities/ # TypeORM database entities
│ │ ├── survey/ # Survey management module
│ │ ├── payment/ # Payment processing module
│ │ ├── report/ # Report generation module
│ │ ├── telegram/ # Telegram bot integration
│ │ ├── auth/ # Authentication module
│ │ └── common/ # Shared utilities
│ ├── Dockerfile # Production container
│ └── .env.example # Environment configuration
├── frontend/ # React web application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Application pages
│ │ ├── services/ # API client services
│ │ └── store/ # State management
│ └── Dockerfile.dev # Development container
├── shared/ # Shared TypeScript types
│ └── src/types/ # Common interfaces
├── docker-compose.yml # Local development setup
└── README.md # This file
POST /survey/start - Start a new survey sessionPOST /survey/answer - Submit an answerGET /survey/structure/:type - Get survey structureGET /survey/session/:sessionId - Get session detailsPOST /payment/create-invoice - Create payment invoicePOST /payment/webhook - Handle payment webhooksPOST /telegram/webhook - Handle Telegram bot webhooksThe application uses PostgreSQL with the following main entities:
The platform includes a comprehensive admin panel powered by AdminJS for managing surveys, viewing user sessions, and monitoring system health.
For Administrators:
/adminAuthentication:
admins table can access the admin panel/adminThe admin panel implements a complete versioning system for surveys:
Backend Development
cd backend
npm run start:dev
Frontend Development
cd frontend
npm run dev
Database Management
# Access PostgreSQL
docker-compose exec postgres psql -U postgres -d bizass_platform
The application is containerized and ready for deployment on platforms like:
Ensure the following environment variables are set in production:
NODE_ENV=productionDB_HOST, DB_PORT, DB_USERNAME, DB_PASSWORD, DB_NAMEJWT_SECRETTELEGRAM_BOT_TOKENTELEGRAM_PAYMENTS_PROVIDER_TOKENFRONTEND_URL[Add your license information here]