Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
3e5edba
Merge pull request #3 from ramazankrklnc/mert
izzet7979 Jul 22, 2026
476f6ec
Fix merge conflicts in Sprint2 README
ramazankrklnc Jul 22, 2026
27ea056
Fix merge conflicts in README
ramazankrklnc Jul 22, 2026
5a24569
Update README
ramazankrklnc Jul 23, 2026
b4c0516
Update README.md
ramazankrklnc Jul 23, 2026
02510ad
Update Sprint2 README
ramazankrklnc Jul 23, 2026
d388e54
Merge pull request #5 from ramazankrklnc/mert
izzet7979 Jul 29, 2026
5fd648c
Merge pull request #6 from ramazankrklnc/mert
izzet7979 Jul 30, 2026
9a9165e
Mobil Arayüze Başlandı
Jul 30, 2026
66f4e51
Merge pull request #7 from ramazankrklnc/mert
izzet7979 Jul 31, 2026
61a0449
Arayüz için service kodları eklendi
Jul 31, 2026
630673c
Anasayfa eklendi
Jul 31, 2026
c40a2d7
Arayüz Geliştirmesine Devam Edildi
Jul 31, 2026
3c9e8b8
Merge pull request #8 from ramazankrklnc/mert
izzet7979 Aug 1, 2026
b47486d
Merge pull request #9 from ramazankrklnc/mert
izzet7979 Aug 1, 2026
18a7931
Mobil Arayüz Güncellendi
Aug 1, 2026
f9d1a4b
Mobil Arayüz Güncellendi
Aug 1, 2026
9f1ee15
Mobil Arayüz Tamamlandı
Aug 1, 2026
5814783
Agentlar Tamamlandı
izzet7979 Aug 2, 2026
e3cf17c
Proje Finl Kodları
Aug 2, 2026
024aff1
Merge pull request #11 from ramazankrklnc/mert
izzet7979 Aug 2, 2026
f8b0117
Proje Final
Aug 2, 2026
22e3b03
Sprint 3 tamamlandı: Flutter mobil, React web, C# backend, README ve …
ardakocadoru Aug 2, 2026
4cbdeb1
Merge pull request #12 from ramazankrklnc/sprint3-arda
ardakocadoru Aug 2, 2026
feaccaf
Update Sprint 3 review and retrospective
ramazankrklnc Aug 2, 2026
2328a8b
Fix formatting issues in Sprint3 README
ramazankrklnc Aug 2, 2026
482d708
Update Spr
ramazankrklnc Aug 2, 2026
7d9e311
Update README.md
ramazankrklnc Aug 2, 2026
d3c223e
Update README.md
ramazankrklnc Aug 2, 2026
4d903b3
Update README.md
ramazankrklnc Aug 2, 2026
efd2454
Remove completed tasks section from README
ramazankrklnc Aug 2, 2026
7a1a2a1
Update README.md
ramazankrklnc Aug 2, 2026
42ee751
Update README.md
ardakocadoru Aug 2, 2026
be09544
Update demo video link in README.md
ramazankrklnc Aug 2, 2026
79e5c07
Update README.md
ramazankrklnc Aug 2, 2026
d06e779
Update README.md
ramazankrklnc Aug 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file added .DS_Store
Binary file not shown.
1,608 changes: 894 additions & 714 deletions README.md

Large diffs are not rendered by default.

29 changes: 23 additions & 6 deletions Sprint2/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# ⚖️ HakkımVar — Sprint 2 Kurulum & Çalıştırma

<<<<<<< HEAD
=======
> **Sprint Dönemi:** 3–4. Haftalar | **Hedef:** LangGraph çoklu ajan, FastAPI backend, Streamlit UI

---
Expand All @@ -27,7 +25,29 @@ Sprint süresince Daily Scrum toplantıları **WhatsApp** yazışmaları ve **Go

---

>>>>>>> origin/master
## ✅ Sprint Review

Sprint 2 kapsamında yapay zekâ destekli kiracı hak asistanının temel fonksiyonları tamamlanarak çalışır bir MVP oluşturulmuştur.

- LangGraph tabanlı çoklu ajan mimarisi başarıyla geliştirildi.
- Contract Analyzer, Legal Reasoner ve Rights Advisor ajanları sisteme entegre edildi.
- FastAPI backend ve temel API servisleri tamamlandı.
- Streamlit tabanlı kullanıcı arayüzü geliştirilerek uçtan uca analiz akışı sağlandı.
- TÜFE bazlı kira artışı kontrolü ve ihtarname oluşturma özellikleri sisteme eklendi.
- RAG altyapısı ajan sistemiyle entegre edilerek hukuki değerlendirmelerin ilgili mevzuata dayandırılması sağlandı.

---

## 🔄 Sprint Retrospective

| Karar | Açıklama |
|-------|----------|
| Takım İletişimi | Daily Scrum toplantıları ve düzenli ekip iletişimi sayesinde sprint boyunca yaşanan teknik sorunlar hızlı bir şekilde çözüldü. Bu iletişim düzeninin sonraki sprintlerde de sürdürülmesine karar verildi. |
| Kod Entegrasyonu | Modüllerin entegrasyon sürecini daha verimli yönetebilmek amacıyla geliştirmelerin daha sık birleştirilmesi ve ara entegrasyon kontrollerinin artırılması planlandı. |
| Performans ve Geliştirme | Analiz süresini iyileştirmek ve kullanıcı deneyimini artırmak amacıyla performans optimizasyonları ile yeni özelliklerin Sprint 3 kapsamında önceliklendirilmesine karar verildi. |

---

## 🚀 Hızlı Başlangıç

### 1. .env dosyası oluştur
Expand Down Expand Up @@ -86,10 +106,7 @@ YZTA_Bootcamp_310/
│ └── models.py ← Pydantic modeller
├── app.py ← Streamlit UI
├── requirements.txt
<<<<<<< HEAD
=======
├── sprint2_board.png ← Sprint board ekran görüntüsü
├── Sprint_2_daily_scrum_ss_*.jpeg ← Daily Scrum görselleri
>>>>>>> origin/master
└── .env ← API key (git'e ekleme!)
```
27 changes: 27 additions & 0 deletions Sprint3/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Build çıktıları
Backend/Backend/bin/
Backend/Backend/obj/
Backend/.vs/

# Visual Studio geçici dosyalar
*.user
*.suo
*.cache
.vs/

# Flutter/Dart build
mobil_arayuz/build/
mobil_arayuz/.dart_tool/
mobil_arayuz/.flutter-plugins
mobil_arayuz/.flutter-plugins-dependencies

# Node / React build
Web/node_modules/
Web/.next/
Web/dist/

# Genel
*.bak
__pycache__/
*.pyc
.env
25 changes: 25 additions & 0 deletions Sprint3/Backend/Backend.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.13.35931.197 d17.13
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Backend", "Backend\Backend.csproj", "{1E870705-0B2B-437B-91F9-9CB25EE06C1D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1E870705-0B2B-437B-91F9-9CB25EE06C1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1E870705-0B2B-437B-91F9-9CB25EE06C1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1E870705-0B2B-437B-91F9-9CB25EE06C1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1E870705-0B2B-437B-91F9-9CB25EE06C1D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C010B2D3-ADE9-4EFF-876D-89109910443E}
EndGlobalSection
EndGlobal
20 changes: 20 additions & 0 deletions Sprint3/Backend/Backend/Backend.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="BCrypt.Net-Next" Version="4.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.6.2" />
</ItemGroup>

</Project>
6 changes: 6 additions & 0 deletions Sprint3/Backend/Backend/Backend.http
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
@Backend_HostAddress = http://localhost:5267

GET {{Backend_HostAddress}}/weatherforecast/
Accept: application/json

###
76 changes: 76 additions & 0 deletions Sprint3/Backend/Backend/Controllers/AuthController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
using Backend.Interfaces;
using Backend.Models;
using Microsoft.AspNetCore.Mvc;

namespace Backend.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class AuthController : ControllerBase
{

private readonly IAuthService _authService;


public AuthController(
IAuthService authService
)
{
_authService = authService;
}



[HttpPost("register")]
public async Task<IActionResult> Register(
[FromBody] RegisterRequest request
)
{
try
{
var result =
await _authService.RegisterAsync(
request
);


return Ok(result);
}
catch (Exception ex)
{
return BadRequest(new
{
message = ex.Message
});
}
}





[HttpPost("login")]
public async Task<IActionResult> Login(
[FromBody] LoginRequest request
)
{
try
{
var result =
await _authService.LoginAsync(
request
);


return Ok(result);
}
catch (Exception ex)
{
return BadRequest(new
{
message = ex.Message
});
}
}
}
}
104 changes: 104 additions & 0 deletions Sprint3/Backend/Backend/Controllers/ChatController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
using Backend.Interfaces;
using Backend.Models;
using Microsoft.AspNetCore.Mvc;

namespace Backend.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class ChatController : ControllerBase
{

private readonly IChatService _chatService;


public ChatController(
IChatService chatService
)
{
_chatService = chatService;
}



// Kullanıcı soru sorar

[HttpPost("ask")]
public async Task<IActionResult> AskQuestion(
[FromBody] AskQuestionRequest request
)
{

try
{

// JWT entegrasyonundan sonra token içerisinden alınacak

int userId = 1;



var result =
await _chatService.AskQuestionAsync(
request,
userId
);



return Ok(result);

}
catch (Exception ex)
{

return BadRequest(
new
{
message = ex.Message
}
);

}

}




// Sohbet geçmişi getir

[HttpGet("history/{sessionId}")]
public async Task<IActionResult> GetHistory(
int sessionId
)
{

try
{

var result =
await _chatService.GetChatHistoryAsync(
sessionId
);


return Ok(result);

}
catch (Exception ex)
{

return BadRequest(
new
{
message = ex.Message
}
);

}

}

}
}
61 changes: 61 additions & 0 deletions Sprint3/Backend/Backend/Controllers/ContractController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
using Backend.Interfaces;
using Backend.Models.Contract;
using Microsoft.AspNetCore.Mvc;


namespace Backend.Controllers
{

[ApiController]
[Route("api/[controller]")]
public class ContractController : ControllerBase
{

private readonly IPythonAgentService _pythonAgentService;


public ContractController(
IPythonAgentService pythonAgentService
)
{
_pythonAgentService = pythonAgentService;
}



[HttpPost("analyze")]
public async Task<IActionResult> Analyze(
ContractRequest request
)
{

try
{

var result =
await _pythonAgentService
.AnalyzeContractAsync(
request.ContractText
);


return Ok(result);

}
catch (Exception ex)
{

return BadRequest(
new
{
message = ex.Message
}
);

}

}

}

}
Loading