feat: Initial backend setup for Music Analyser

- Created FastAPI backend structure.
- Implemented Spotify Recently Played ingestion logic.
- Set up SQLite database with SQLAlchemy models.
- Added AI Service using Google Gemini.
- Created helper scripts for auth and background worker.
- Added Dockerfile and GitHub Actions workflow.
This commit is contained in:
google-labs-jules[bot]
2025-12-24 17:26:01 +00:00
parent a458eb00db
commit a97997a17a
16 changed files with 579 additions and 2 deletions

28
backend/run_ingest.py Normal file
View File

@@ -0,0 +1,28 @@
import asyncio
import sys
import os
# Add the current directory to sys.path to allow imports from app
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from dotenv import load_dotenv
load_dotenv()
from app.database import SessionLocal, Base, engine
from app.ingest import ingest_recently_played
# Ensure tables exist
Base.metadata.create_all(bind=engine)
async def main():
print("Starting manual ingestion...")
db = SessionLocal()
try:
await ingest_recently_played(db)
print("Ingestion complete.")
finally:
db.close()
if __name__ == "__main__":
asyncio.run(main())