vendor_report/QUICK_START.md
2025-11-06 20:50:19 +04:00

164 lines
3.3 KiB
Markdown

# Quick Start Guide: SharePoint Integration & Scheduling
This guide will help you quickly set up SharePoint integration and automated report generation.
## Quick Setup (5 minutes)
### 1. Install Dependencies
```bash
pip install -r requirements.txt
```
### 2. Create Configuration
```bash
cp config.yaml.template config.yaml
```
### 3. Configure SharePoint
Edit `config.yaml`:
```yaml
sharepoint:
enabled: true
site_url: "https://yourcompany.sharepoint.com/sites/YourSite"
folder_path: "/Shared Documents/Reports" # Path to your Excel files
use_app_authentication: true
client_id: "your-azure-ad-client-id"
client_secret: "your-azure-ad-client-secret"
```
**To get Azure AD credentials:**
1. Go to Azure Portal → App registrations
2. Create new registration or use existing
3. Create a client secret
4. Grant SharePoint API permissions: `Sites.Read.All`
5. Copy Client ID and Client Secret to config
### 4. Choose Your Deployment Method
#### Option A: Scheduled Reports (Recommended)
Edit `config.yaml`:
```yaml
scheduler:
enabled: true
schedule_type: "cron"
cron_expression: "0 8 * * *" # 8 AM daily
timezone: "America/New_York"
```
Start scheduler:
```bash
python scheduler.py
```
#### Option B: On-Demand via API
Edit `config.yaml`:
```yaml
api:
enabled: true
port: 8080
api_key: "your-secret-key" # Optional but recommended
```
Start API server:
```bash
python api_server.py
```
Generate report:
```bash
curl -X POST http://localhost:8080/api/generate \
-H "X-API-Key: your-secret-key" \
-H "Content-Type: application/json \
-d '{"download_from_sharepoint": true}'
```
## How It Works
1. **SharePoint Download**: Downloads latest Excel files from SharePoint folder
2. **Report Generation**: Processes Excel files and generates reports
3. **Output**: Creates `output/report.json` and `output/report.html`
## Testing
### Test SharePoint Connection
```bash
python sharepoint_downloader.py
```
This will download files from SharePoint to the `reports/` directory.
### Test Report Generation
```bash
python report_generator.py
```
This will generate reports from files in the `reports/` directory.
## Deployment Options
### As a Service (Linux)
```bash
# Create systemd service
sudo nano /etc/systemd/system/vendor-report.service
# Add:
[Unit]
Description=Vendor Report Scheduler
After=network.target
[Service]
Type=simple
User=your-user
WorkingDirectory=/path/to/vendor_report
ExecStart=/usr/bin/python3 /path/to/vendor_report/scheduler.py
Restart=always
[Install]
WantedBy=multi-user.target
# Enable and start
sudo systemctl enable vendor-report
sudo systemctl start vendor-report
```
### Docker (Coming Soon)
The application can be containerized for easy deployment.
## Troubleshooting
### SharePoint Authentication Fails
- Verify Azure AD app has correct permissions
- Check client ID and secret are correct
- Ensure SharePoint site URL is correct (include `/sites/SiteName`)
### Files Not Downloading
- Check folder path is correct (use SharePoint's "Copy path" feature)
- Verify app has read permissions
- Check file pattern matches your Excel files
### Scheduler Not Running
- Check timezone is correct
- Verify cron expression format
- Check logs for errors
## Next Steps
- Set up monitoring/alerting for failed reports
- Configure webhook notifications
- Set up automated email delivery of reports
- Integrate with other systems via API