Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
79909b9
feat: add API entry point and Vercel configuration for routing
opsmanager1 Apr 11, 2026
ca947fd
fix: update port mapping in docker-compose for app service
opsmanager1 Apr 11, 2026
256b19e
fix: update port from 8000 to 8001 in Dockerfile, entrypoint, and hea…
opsmanager1 Apr 11, 2026
804383b
feat: add SecurityMiddleware with content security policy to enhance …
opsmanager1 Apr 11, 2026
2915d57
fix: format content security policy for SecurityMiddleware configuration
opsmanager1 Apr 11, 2026
85404d3
fix: remove SecurityMiddleware and its content security policy from c…
opsmanager1 Apr 11, 2026
baec2e0
fix: clear content security policy in settings
opsmanager1 Apr 11, 2026
bc7d06c
fix: remove Content-Security-Policy handling from SecurityHeadersMidd…
opsmanager1 Apr 11, 2026
c2c0ebb
fix: set default value of is_verified to True in User model
opsmanager1 Apr 11, 2026
57a4a2f
fix: update UserCreate schema to inherit from BaseModel and include e…
opsmanager1 Apr 11, 2026
27cd9f9
fix: update error message for missing AUTH_PASSWORD in bootstrap process
opsmanager1 Apr 11, 2026
c6ff9cd
fix: add argon2-cffi to requirements for password hashing
opsmanager1 Apr 11, 2026
b5b2985
fix: add Alembic schema sync check before migrations
opsmanager1 Apr 11, 2026
aa34555
fix: improve Alembic schema sync check and migration handling
opsmanager1 Apr 11, 2026
c0f81de
fix: enhance user authentication by adding username awareness and upd…
opsmanager1 Apr 11, 2026
5703c92
feat: implement JWT refresh token functionality and update authentica…
opsmanager1 Apr 11, 2026
42e9774
fix: streamline Alembic schema sync check and migration process
opsmanager1 Apr 11, 2026
4af8acb
fix: add index to RefreshToken token_hash and improve Alembic sync ch…
opsmanager1 Apr 11, 2026
127f556
fix: update Alembic schema sync check to use 'alembic check' command
opsmanager1 Apr 11, 2026
49736ed
feat: implement migration and schema sync check script
opsmanager1 Apr 11, 2026
5faf1e0
refactor: streamline Alembic migration process by removing unused imp…
opsmanager1 Apr 11, 2026
4beb538
refactor: simplify Alembic command execution and remove unused databa…
opsmanager1 Apr 11, 2026
9682965
fix: ensure transaction is committed in version number capacity check
opsmanager1 Apr 11, 2026
c3b53da
feat: add ReDoc documentation endpoint and configure FastAPI initiali…
opsmanager1 Apr 11, 2026
7d5950f
docs: update README with migration command and ReDoc script details
opsmanager1 Apr 11, 2026
50f5d9b
style: format code for consistency in main.py
opsmanager1 Apr 11, 2026
67c1bf2
Refactor LLM module and add feature specification functionality
opsmanager1 Apr 15, 2026
0ddf4b5
feat: add Ollama model bootstrap script and update Docker Compose hea…
opsmanager1 Apr 15, 2026
7bfcd45
feat: enhance JSON extraction and update feature summary schema with …
opsmanager1 Apr 15, 2026
c3793f8
feat: include system prompt in payload for OllamaClient
opsmanager1 Apr 15, 2026
cb3b317
feat: remove obsolete migration scripts for database schema updates
opsmanager1 Apr 15, 2026
0cd0e20
feat: add schema bootstrap functionality when no migration files are …
opsmanager1 Apr 15, 2026
96119d9
feat: enhance schema bootstrapping to raise error if no SQLAlchemy mo…
opsmanager1 Apr 15, 2026
5302657
feat: simplify feature summary prompt rendering by removing error han…
opsmanager1 Apr 15, 2026
fe58b5a
feat: update DbModelsAndApiEndpoints to allow mixed types for db_mode…
opsmanager1 Apr 15, 2026
656a3e3
feat: refine default feature summary prompt template for clarity and …
opsmanager1 Apr 16, 2026
28a1c74
feat: improve readability of the default feature summary prompt template
opsmanager1 Apr 16, 2026
51c0217
feat: update README to reflect changes in feature specification endpo…
opsmanager1 Apr 16, 2026
fb8682d
Merge pull request #2 from opsmanager1/feature/llm-feature-generation
opsmanager1 Apr 16, 2026
6d1e2f5
feat: implement admin panel with authentication and user management v…
opsmanager1 Apr 16, 2026
4534376
feat: remove excluded columns from User and RefreshToken admin views
opsmanager1 Apr 16, 2026
7fa07e9
feat: integrate Celery for background task processing and add feature…
opsmanager1 Apr 16, 2026
eb30832
feat: remove feature_spec module initialization file
opsmanager1 Apr 16, 2026
66b0b24
feat: increase OLLAMA_TIMEOUT to improve response handling and add ti…
opsmanager1 Apr 16, 2026
f2c9666
feat: add rollback logic for database transactions on error in featur…
opsmanager1 Apr 16, 2026
85ddcf0
Merge pull request #3 from opsmanager1/feature/admin-panel-ui
opsmanager1 Apr 16, 2026
6b5260b
feat: update README and schemas for async feature generation, enhance…
opsmanager1 Apr 16, 2026
7d24c19
feat: add broker connection retry on startup in Celery configuration
opsmanager1 Apr 16, 2026
b1d5b10
feat: integrate normalization of feature summary payload and enhance …
opsmanager1 Apr 16, 2026
2532993
feat: implement normalization for risk assessment and integrate it in…
opsmanager1 Apr 16, 2026
9081429
feat: enhance normalization functions with strict validation and logging
opsmanager1 Apr 16, 2026
a5b8282
Merge pull request #4 from opsmanager1/refacotr/llm-feature-generation
opsmanager1 Apr 16, 2026
0e1db1b
Update README.md
opsmanager1 Apr 16, 2026
d2dedda
Update README.md
opsmanager1 Apr 16, 2026
91fedc8
Update README.md
opsmanager1 Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 47 additions & 34 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,51 +1,64 @@
APP_NAME=Specification Generator
ENV=development
DEBUG=False
VERSION=1.0.0
APP_NAME=<app_name>
ENV=<environment>
DEBUG=<debug_true_or_false>
VERSION=<app_version>

HOST=0.0.0.0
PORT=8000
HOST=<host>
PORT=<port>
FASTAPI_HOST_PORT=<fastapi_host_port>
FASTAPI_CONTAINER_PORT=<fastapi_container_port>
REDIS_HOST_PORT=<redis_host_port>
REDIS_CONTAINER_PORT=<redis_container_port>

DATABASE_URL=postgresql://<db_user>:<db_password>@<db_host>:5432/<db_name>?sslmode=disable
SECRET_KEY=<change_me>
ACCESS_TOKEN_EXPIRE_MINUTES=60
ACCESS_TOKEN_MINUTE_IN_SECONDS=60
SECRET_KEY=<secret_key>
ACCESS_TOKEN_EXPIRE_MINUTES=<access_token_expire_minutes>
ACCESS_TOKEN_MINUTE_IN_SECONDS=<access_token_minute_in_seconds>

AUTH_PREFIX=/auth
AUTH_ME_PATH=/me
AUTH_TAG=auth
AUTH_BOOTSTRAP_ENABLED=False
AUTH_BOOTSTRAP_SUPERUSER=True
AUTH_PREFIX=<auth_prefix>
AUTH_ME_PATH=<auth_me_path>
AUTH_TAG=<auth_tag>
AUTH_BOOTSTRAP_ENABLED=<auth_bootstrap_enabled_true_or_false>
AUTH_BOOTSTRAP_SUPERUSER=<auth_bootstrap_superuser_true_or_false>
AUTH_USERNAME=<bootstrap_username>
AUTH_EMAIL=<bootstrap_email>
AUTH_PASSWORD=<bootstrap_password>
AUTH_PASSWORD_HASH=
AUTH_PASSWORD_HASH=<bootstrap_password_hash_or_empty>

ALLOWED_ORIGINS=["*"]
SECURITY_TRUSTED_HOSTS=["*"]
SECURITY_ENABLE_HTTPS_REDIRECT=False
SECURITY_CSP=default-src 'self'; frame-ancestors 'none'; base-uri 'self'; form-action 'self'
SECURITY_REFERRER_POLICY=strict-origin-when-cross-origin
SECURITY_CORS_ALLOW_METHODS=["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]
SECURITY_CORS_ALLOW_HEADERS=["Authorization", "Content-Type", "Accept", "Origin", "X-Requested-With", "X-Request-ID"]
SECURITY_REQUEST_ID_HEADER=X-Request-ID
SECURITY_LOG_SUSPICIOUS=True
SECURITY_RATE_LIMIT_ENABLED=True
SECURITY_RATE_LIMIT_REQUESTS=120
SECURITY_RATE_LIMIT_WINDOW_SECONDS=60
SECURITY_RATE_LIMIT_PATHS=["/api/v1/auth"]
ALLOWED_ORIGINS=<json_array_allowed_origins>
SECURITY_TRUSTED_HOSTS=<json_array_trusted_hosts>
SECURITY_ENABLE_HTTPS_REDIRECT=<security_enable_https_redirect_true_or_false>
SECURITY_CSP=<security_csp>
SECURITY_REFERRER_POLICY=<security_referrer_policy>
SECURITY_CORS_ALLOW_METHODS=<json_array_cors_methods>
SECURITY_CORS_ALLOW_HEADERS=<json_array_cors_headers>
SECURITY_REQUEST_ID_HEADER=<security_request_id_header>
SECURITY_LOG_SUSPICIOUS=<security_log_suspicious_true_or_false>
SECURITY_RATE_LIMIT_ENABLED=<security_rate_limit_enabled_true_or_false>
SECURITY_RATE_LIMIT_REQUESTS=<security_rate_limit_requests>
SECURITY_RATE_LIMIT_WINDOW_SECONDS=<security_rate_limit_window_seconds>
SECURITY_RATE_LIMIT_PATHS=<json_array_rate_limit_paths>

OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=mistral
OLLAMA_TIMEOUT=120
OLLAMA_SYSTEM_PROMPT=You are a helpful assistant that generates software specifications.
OLLAMA_BASE_URL=<ollama_base_url>
OLLAMA_MODEL=<ollama_model>
OLLAMA_TIMEOUT=<ollama_timeout_seconds>
OLLAMA_CONNECT_TIMEOUT=<ollama_connect_timeout_seconds>
OLLAMA_MAX_RETRIES=<ollama_max_retries>
OLLAMA_RETRY_BACKOFF_SECONDS=<ollama_retry_backoff_seconds>
OLLAMA_SYSTEM_PROMPT=<ollama_system_prompt>
LLM_PROMPT_MAX_LENGTH=<llm_prompt_max_length>
FEATURE_SPEC_HISTORY_DEFAULT_LIMIT=<feature_spec_history_default_limit>
CELERY_BROKER_URL=<celery_broker_url>
CELERY_RESULT_BACKEND=<celery_result_backend>
CELERY_TASK_MAX_RETRIES=<celery_task_max_retries>
CELERY_TASK_RETRY_BASE_SECONDS=<celery_task_retry_base_seconds>

TEST_DB_HOST=<test_db_host>
TEST_DB_PORT=5432
TEST_DB_PORT=<test_db_port>
TEST_DB_NAME=<test_db_name>
TEST_DB_USER=<test_db_user>
TEST_DB_PASSWORD=<test_db_password>
TEST_DB_SSLMODE=disable
TEST_DB_SSLMODE=<test_db_sslmode>
TEST_DEFAULT_USERNAME=<test_username>
TEST_DEFAULT_EMAIL=<test_email>
TEST_DEFAULT_HASHED_PASSWORD=<hashed_test_password>
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ RUN sed -i 's/\r$//' /app/entrypoint.sh \

USER appuser

EXPOSE 8000
EXPOSE 8001

ENTRYPOINT ["/app/entrypoint.sh"]
CMD ["python", "-m", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
CMD ["python", "-m", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8001"]
Loading
Loading