Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
22 changes: 11 additions & 11 deletions backend/app/core/config.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
from pydantic_settings import BaseSettings
from pydantic_settings import BaseSettings, SettingsConfigDict


class Settings(BaseSettings):
# Frontend Config
FRONTEND_URL: str
# Load environment variables from the local .env file
# so the backend can run correctly during local development.
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",
)

# LLM Provider
FRONTEND_URL: str
PROVIDER: str

# Azure OpenAI Config
AZURE_API_VERSION: str
AZURE_ENDPOINT: str
AZURE_API_KEY: str
AZURE_DEPLOYMENT_NAME: str
AZURE_EMBEDDING_DEPLOYMENT_NAME: str

# Qdrant Config
QDRANT_URL: str
QDRANT_COLLECTION_NAME: str

# Langfuse Config
LANGFUSE_SECRET_KEY: str
LANGFUSE_PUBLIC_KEY: str
LANGFUSE_HOST: str

settings = Settings()

# Create one shared settings object for the app
settings = Settings()
45 changes: 25 additions & 20 deletions frontend/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,15 @@ export default function LandingPage() {
AI Explorer
</span>
</div>

<div className="flex items-center gap-3">
<Button variant="outline" size="sm" asChild>
<Link href="/signin" className="flex items-center gap-2">
<LogIn className="h-4 w-4" />
Sign In
</Link>
</Button>

<Button size="sm" asChild>
<Link href="/signup" className="flex items-center gap-2">
<UserPlus className="h-4 w-4" />
Expand All @@ -54,25 +56,28 @@ export default function LandingPage() {
<div className="container mx-auto px-4 max-w-6xl flex flex-col items-center justify-center">
{/* Hero Section */}
<div className="text-center mb-16">
<div className="flex items-center justify-center gap-4 mb-6">
<div className="flex flex-col lg:flex-row items-center justify-center gap-6 mb-6">
<Image
src="/VCellLogo.png"
alt="VCell Logo"
width={318}
height={120}
className="rounded-lg"
/>
<h1 className="text-5xl md:text-6xl lg:text-7xl font-bold text-slate-900 leading-tight">
VCell Models
<br />
<span className="text-blue-600">AI Explorer</span>
</h1>
</div>

<p className="text-lg md:text-xl text-slate-600 mb-8 max-w-3xl mx-auto leading-relaxed">
Discover, analyze, and explore biomodels with the power of AI.
Comprehensive platform for scientific model research.
</p>
<div className="text-center lg:text-left">
<h1 className="text-5xl md:text-6xl lg:text-7xl font-bold text-slate-900 leading-tight">
Explore VCell Models
<br />
<span className="text-blue-600">with AI</span>
</h1>

<p className="mt-4 text-lg md:text-xl text-slate-600 max-w-2xl leading-relaxed">
Search, analyze, and understand biological models more easily
through a cleaner and more user-friendly interface.
</p>
</div>
</div>

<div className="flex flex-col sm:flex-row gap-4 justify-center items-center">
<Link href="/chat">
Expand All @@ -84,21 +89,21 @@ export default function LandingPage() {
<ArrowRight className="ml-2 h-5 w-5" />
</Button>
</Link>

<Link href="/signup">
<Button
variant="outline"
size="lg"
className="border-2 border-blue-600 text-blue-600 hover:bg-blue-50 px-8 py-4 text-lg font-semibold rounded-lg transition-all duration-200"
>
Join Now!
Join Now
</Button>
</Link>
</div>
</div>

{/* Features Section */}
<div className="grid grid-cols-1 md:grid-cols-3 gap-6 mb-16 w-full">
{/* AI Chatbot Feature */}
<Card className="border-slate-200 shadow-lg hover:shadow-xl transition-shadow duration-200">
<CardHeader className="text-center pb-2">
<div className="w-14 h-14 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-2">
Expand All @@ -111,13 +116,12 @@ export default function LandingPage() {
<CardContent className="text-center">
<p className="text-slate-600 leading-relaxed">
Ask questions in natural language and get intelligent
responses. The Chatbot can retrieve, and analyze biomodels
using LLMs with Tool Calling.
responses. The chatbot can retrieve and analyze biomodels
using LLMs with tool calling.
</p>
</CardContent>
</Card>

{/* All-in-One Tools Feature */}
<Card className="border-slate-200 shadow-lg hover:shadow-xl transition-shadow duration-200">
<CardHeader className="text-center pb-2">
<div className="w-14 h-14 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-2">
Expand All @@ -132,29 +136,31 @@ export default function LandingPage() {
<p className="text-slate-600 leading-relaxed mb-2">
All essential tools in one platform
</p>

<div className="space-y-1 text-sm">
<div className="flex items-center justify-center gap-2">
<div className="w-2 h-2 bg-blue-500 rounded-full"></div>
<span className="text-slate-700">
Biomodel Database Search
</span>
</div>

<div className="flex items-center justify-center gap-2">
<div className="w-2 h-2 bg-blue-500 rounded-full"></div>
<span className="text-slate-700">
VCML and SBML File Retrieval
</span>
</div>

<div className="flex items-center justify-center gap-2">
<div className="w-2 h-2 bg-blue-500 rounded-full"></div>
<span className="text-slate-700">Biomodels Diagrams</span>
<span className="text-slate-700">Biomodel Diagrams</span>
</div>
</div>
</div>
</CardContent>
</Card>

{/* Private Access Feature */}
<Card className="border-slate-200 shadow-lg hover:shadow-xl transition-shadow duration-200">
<CardHeader className="text-center pb-2">
<div className="w-14 h-14 bg-blue-100 rounded-full flex items-center justify-center mx-auto mb-2">
Expand All @@ -175,10 +181,9 @@ export default function LandingPage() {
</div>
</main>

{/* Footer */}
<footer className="text-center border-t border-slate-200 text-sm">
<p className="text-slate-500 my-4">VCell AI Model Explorer</p>
</footer>
</div>
);
}
}