Удалить 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