How sanjay-m1512/nl_sql_local_backend works
This Flask service provides authenticated, role-aware database management and natural-language SQL querying. A user request enters the application, which resolves the selected database and schema, obtains SQL from the language-model integration, classifies or executes the query, and records audit information. The application also handles company/developer accounts, database registration, and schema synchronization. The README is empty; some routes and their call sites are omitted from the excerpts, so those relationships are not asserted beyond documented imports and visible references.
Main entry points: app.py Flask routes · connection.py MySQL connection · nl_to_sql.py NL-to-SQL · audit_logger.py Audit logger
Components 11
Application API
- Flask routes
app.py - Environment updater
utils/env_updater.py
Query Processing
- NL-to-SQL
llm/nl_to_sql.py - SQL classifier
security/sql_classifier.py
Data Access
- Audit logger
utils/audit_logger.py - MySQL connection
db/connection.py - Environment config
config.py - MongoDB records
External Services
- MySQL databases
- Groq API
Other components
- API user
Connections 13
- API user → Flask routes: sends requests
- Flask routes → NL-to-SQL: requests SQL
app.py - Flask routes → SQL classifier: classifies SQL
app.py - Flask routes → MySQL connection: uses database helpers
app.py - Flask routes → MongoDB records: reads and writes
app.py - Flask routes → MySQL databases: connects for schema
app.py - Flask routes → Audit logger: logs queries
app.py - Flask routes → Environment updater: updates settings
app.py - NL-to-SQL → Groq API: requests completion
llm/nl_to_sql.py - MySQL connection → Environment config: reads settings
db/connection.py - MySQL connection → MySQL databases: opens connection
db/connection.py - Audit logger → MySQL connection: gets connection
utils/audit_logger.py - Environment config → Groq API: loads API key