Sviluppo software con Claude Code
Dani Zysman
AI Curriculum Manager @ DataCamp


music-analytics-api/
app.py # Application entry point
routes.py # API endpoints
models.py # Artist/Album models
analytics.py # Statistics functions
middleware.py # Request logging
config.py # Session settings
Una semplice Music Analytics API con pattern già presenti da rispettare.
CLAUDE.md:
> /init
Music Analytics API
A Flask-based REST API for music data analytics.
Project Structure
- app.py Flask application entry point
- routes.py API endpoint definitions
- analytics.py Statistical analysis functions
Coding Conventions
- Use type hints for function parameters
- Include docstrings for all public functions
- Follow PEP 8 style guidelines
Shift+Tab o digita /planCtrl+G per visualizzarlo, approvarlo, rivederlo o modificarlo> Add a /api/login endpoint that creates a session for a user
from flask import jsonify, request
from flask_login import LoginManager, login_user
from app import app
login_manager = LoginManager(app)
@app.route('/api/login', methods=['POST'])
def login():
"""Handle user login and create session."""
data = request.get_json()
user = User.query.filter_by(username=data['username']).first()
if user and user.password == data['password']:
login_user(user)
return jsonify({'status': 'success'})
return jsonify({'error': 'Invalid credentials'}), 401
> /plan Add a /api/login endpoint that creates a session for a user
Plan: Aggiungi endpoint POST /api/login
Context
La music analytics API ha già l'infrastruttura di sessione
(flask_session, SECRET_KEY, session già importata in routes)
ma non l'autenticazione.
Files to Modify
- models.py: aggiungi classe User, classe UserStore, singleton user_store
- routes.py: amplia import, aggiungi rotta di login
Nessuna modifica necessaria a app.py, config.py, middleware.py o analytics.py.
> think about how to add authentication to this API
| Comando | Profondità del ragionamento |
|---|---|
think |
Ragionamento di base |
think more |
Ragionamento esteso |
think a lot |
Ragionamento completo |
think longer |
Ragionamento con più tempo |
ultrathink |
Ragionamento massimo |

/clear
Sviluppo software con Claude Code