Удалить QUICK_START.md
This commit is contained in:
parent
d70fdebe1b
commit
0bef883568
235
QUICK_START.md
235
QUICK_START.md
@ -1,235 +0,0 @@
|
|||||||
# Quick Start Guide
|
|
||||||
|
|
||||||
## Installation (5 minutes)
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 1. Install dependencies with uv
|
|
||||||
uv pip install -r requirements.txt
|
|
||||||
|
|
||||||
# 2. Start Docker services (PostgreSQL + MinIO)
|
|
||||||
docker-compose up -d
|
|
||||||
|
|
||||||
# 3. Initialize database
|
|
||||||
python init_db.py
|
|
||||||
# Choose option 1: Create tables
|
|
||||||
|
|
||||||
# 4. Verify setup
|
|
||||||
docker exec rag_ai_postgres psql -U postgres -d rag_ai_assistant -c "\dt"
|
|
||||||
# Should show: users, profiles tables
|
|
||||||
```
|
|
||||||
|
|
||||||
## Running the Application
|
|
||||||
|
|
||||||
### Option 1: All-in-One (Recommended for Development)
|
|
||||||
```bash
|
|
||||||
python bot.py
|
|
||||||
```
|
|
||||||
This starts both the FastAPI server and Telegram bot together.
|
|
||||||
|
|
||||||
### Option 2: Separate Processes (For Testing)
|
|
||||||
```bash
|
|
||||||
# Terminal 1: API Server
|
|
||||||
uvicorn app:app --reload --host localhost --port 8000
|
|
||||||
|
|
||||||
# Terminal 2: Telegram Bot
|
|
||||||
.venv/bin/python -c "from bot import start_bot; import asyncio; asyncio.run(start_bot())"
|
|
||||||
```
|
|
||||||
|
|
||||||
## Testing the API
|
|
||||||
|
|
||||||
### 1. Test Login Endpoint
|
|
||||||
```bash
|
|
||||||
curl http://localhost:8000/login
|
|
||||||
```
|
|
||||||
**Expected response:**
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"message": "Нажмите на кнопку для регистрации",
|
|
||||||
"url": "https://t.me/ITMOshkaBot?start={token}",
|
|
||||||
"check_status_url": "/check-auth/{token}"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. Check Database Tokens
|
|
||||||
```bash
|
|
||||||
curl http://localhost:8000/database/tokens
|
|
||||||
```
|
|
||||||
**Expected response:**
|
|
||||||
```json
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"token": "uuid-here",
|
|
||||||
"status": "pending",
|
|
||||||
"username": null
|
|
||||||
}
|
|
||||||
]
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3. Test Profile Creation
|
|
||||||
```bash
|
|
||||||
curl -X POST http://localhost:8000/profile \
|
|
||||||
-F "name=John Doe" \
|
|
||||||
-F "email=john@example.com" \
|
|
||||||
-F "position=Python Developer" \
|
|
||||||
-F "skills=Python, FastAPI, PostgreSQL" \
|
|
||||||
-F "cv=@/path/to/resume.pdf"
|
|
||||||
```
|
|
||||||
|
|
||||||
### 4. Get Profile
|
|
||||||
```bash
|
|
||||||
curl http://localhost:8000/profile/john@example.com
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5. List Vacancies
|
|
||||||
```bash
|
|
||||||
curl http://localhost:8000/vacancies
|
|
||||||
```
|
|
||||||
|
|
||||||
## Database Quick Commands
|
|
||||||
|
|
||||||
### View All Users
|
|
||||||
```bash
|
|
||||||
docker exec rag_ai_postgres psql -U postgres -d rag_ai_assistant -c "SELECT * FROM users;"
|
|
||||||
```
|
|
||||||
|
|
||||||
### View All Profiles
|
|
||||||
```bash
|
|
||||||
docker exec rag_ai_postgres psql -U postgres -d rag_ai_assistant -c "SELECT email, name, position FROM profiles;"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Delete All Users (Reset)
|
|
||||||
```bash
|
|
||||||
docker exec rag_ai_postgres psql -U postgres -d rag_ai_assistant -c "DELETE FROM users;"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Count Records
|
|
||||||
```bash
|
|
||||||
docker exec rag_ai_postgres psql -U postgres -d rag_ai_assistant -c "SELECT COUNT(*) FROM users;"
|
|
||||||
docker exec rag_ai_postgres psql -U postgres -d rag_ai_assistant -c "SELECT COUNT(*) FROM profiles;"
|
|
||||||
```
|
|
||||||
|
|
||||||
## Common Tasks
|
|
||||||
|
|
||||||
### Reset Database
|
|
||||||
```bash
|
|
||||||
python init_db.py
|
|
||||||
# Choose option 2: Drop and recreate tables
|
|
||||||
```
|
|
||||||
|
|
||||||
### Check PostgreSQL Logs
|
|
||||||
```bash
|
|
||||||
docker logs rag_ai_postgres -f
|
|
||||||
```
|
|
||||||
|
|
||||||
### Check MinIO Status
|
|
||||||
```bash
|
|
||||||
docker ps | grep minio
|
|
||||||
# Or visit: http://localhost:9001
|
|
||||||
# Login: minioadmin / minioadmin
|
|
||||||
```
|
|
||||||
|
|
||||||
### Backup Database
|
|
||||||
```bash
|
|
||||||
docker exec rag_ai_postgres pg_dump -U postgres rag_ai_assistant > backup_$(date +%Y%m%d).sql
|
|
||||||
```
|
|
||||||
|
|
||||||
### Restore Database
|
|
||||||
```bash
|
|
||||||
docker exec -i rag_ai_postgres psql -U postgres rag_ai_assistant < backup_20240109.sql
|
|
||||||
```
|
|
||||||
|
|
||||||
## Environment Variables (.env)
|
|
||||||
|
|
||||||
Make sure these are set correctly:
|
|
||||||
|
|
||||||
```env
|
|
||||||
# Bot
|
|
||||||
BOT_API_KEY=your_telegram_bot_token_here
|
|
||||||
|
|
||||||
# Database
|
|
||||||
POSTGRES_USER=postgres
|
|
||||||
POSTGRES_PASSWORD=postgres
|
|
||||||
POSTGRES_DB=rag_ai_assistant
|
|
||||||
POSTGRES_HOST=localhost
|
|
||||||
POSTGRES_PORT=5432
|
|
||||||
|
|
||||||
# MinIO
|
|
||||||
MINIO_ENDPOINT=localhost:9000
|
|
||||||
MINIO_ACCESS_KEY=minioadmin
|
|
||||||
MINIO_SECRET_KEY=minioadmin
|
|
||||||
MINIO_BUCKET=resumes
|
|
||||||
```
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
### "Connection refused" errors
|
|
||||||
```bash
|
|
||||||
# Check if PostgreSQL is running
|
|
||||||
docker ps | grep postgres
|
|
||||||
|
|
||||||
# Restart if needed
|
|
||||||
docker-compose restart rag_ai_postgres
|
|
||||||
```
|
|
||||||
|
|
||||||
### "No module named 'X'" errors
|
|
||||||
```bash
|
|
||||||
# Reinstall dependencies
|
|
||||||
uv pip install -r requirements.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
### Database tables don't exist
|
|
||||||
```bash
|
|
||||||
# Reinitialize
|
|
||||||
python init_db.py
|
|
||||||
```
|
|
||||||
|
|
||||||
### Bot not responding
|
|
||||||
```bash
|
|
||||||
# Check bot token in .env
|
|
||||||
cat .env | grep BOT_API_KEY
|
|
||||||
|
|
||||||
# Test bot manually
|
|
||||||
curl https://api.telegram.org/bot{YOUR_TOKEN}/getMe
|
|
||||||
```
|
|
||||||
|
|
||||||
## API Documentation
|
|
||||||
|
|
||||||
Once running, visit:
|
|
||||||
- **Swagger UI:** http://localhost:8000/docs
|
|
||||||
- **ReDoc:** http://localhost:8000/redoc
|
|
||||||
|
|
||||||
## Project Structure
|
|
||||||
|
|
||||||
```
|
|
||||||
├── app.py # FastAPI application
|
|
||||||
├── bot.py # Telegram bot
|
|
||||||
├── config.py # Configuration
|
|
||||||
├── init_db.py # Database setup script
|
|
||||||
├── requirements.txt # Dependencies
|
|
||||||
├── .env # Environment variables (create this!)
|
|
||||||
├── database/
|
|
||||||
│ └── database.py # ORM models & DB session
|
|
||||||
└── tests/ # Your tests
|
|
||||||
```
|
|
||||||
|
|
||||||
## Next Steps
|
|
||||||
|
|
||||||
1. ✅ Database is set up
|
|
||||||
2. ✅ API is working
|
|
||||||
3. ✅ Bot is connected
|
|
||||||
4. 📝 Test the authentication flow
|
|
||||||
5. 📝 Test profile creation
|
|
||||||
6. 📝 Add your custom business logic
|
|
||||||
|
|
||||||
## Support
|
|
||||||
|
|
||||||
- **Documentation:** See [README.md](README.md) for full details
|
|
||||||
- **Implementation Details:** See [IMPLEMENTATION_SUMMARY.md](IMPLEMENTATION_SUMMARY.md)
|
|
||||||
- **Database Schema:** See diagrams in implementation summary
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Status:** ✅ All systems operational
|
|
||||||
**PostgreSQL:** Port 5432
|
|
||||||
**MinIO:** Port 9000 (API) / 9001 (Console)
|
|
||||||
**FastAPI:** Port 8000
|
|
||||||
Loading…
Reference in New Issue
Block a user