FinShark, yatırımcıların kısa vadeli veri gürültüsü olmadan ilgili finansal belgeleri ve şirket bilgilerini bulmalarına yardımcı olan modern bir finansal analiz platformudur.
- Şirket Profili: Detaylı şirket bilgileri ve finansal metrikleri
- Bilanço Analizi: Şirketlerin finansal durumunu analiz etme
- Nakit Akış Tabloları: Nakit akışlarını takip ve analiz etme
- Gelir Tabloları: Şirket gelirlerini detaylı inceleme
- Oran Analizi: Finansal oranlar ve karşılaştırmalar
- Temettü Geçmişi: Geçmiş temettü ödemelerini takip
- Güvenli Kimlik Doğrulama: JWT tabanlı güvenli giriş sistemi
- Kullanıcı Kayıtı: Güçlü şifre politikası ile güvenli kayıt
- Kişiselleştirilmiş Deneyim: Kullanıcı özel portfolyo yönetimi
- Kişisel Portfolyo: Hisse senetlerini takip ve yönetme
- Yorum Sistemi: Hisse senetleri hakkında not alma ve yorum yapma
- Arama ve Filtreleme: Gelişmiş arama ve filtreleme özellikleri
- Framework: ASP.NET Core 8.0
- Database: MySQL (Entity Framework Core ile)
- Authentication: JWT Bearer Token
- ORM: Entity Framework Core
- API Documentation: Swagger/OpenAPI
- Architecture: Repository Pattern, Dependency Injection
- Framework: React 18 with TypeScript
- Routing: React Router DOM
- Styling: Tailwind CSS
- Forms: React Hook Form with Yup validation
- HTTP Client: Axios
- Charts: Recharts
- Icons: React Icons
- Notifications: React Toastify
- State Management: Context API
finshark/
├── 📁 api/ # Backend .NET API
│ ├── 📁 Controllers/ # API Controllers
│ ├── 📁 Data/ # Database Context
│ ├── 📁 Models/ # Entity Models
│ ├── 📁 Dtos/ # Data Transfer Objects
│ ├── 📁 Repository/ # Repository Pattern Implementation
│ ├── 📁 Services/ # Business Logic Services
│ ├── 📁 Interfaces/ # Contracts and Interfaces
│ ├── 📁 Migrations/ # Database Migrations
│ └── 📁 Mappers/ # Object Mapping
├── 📁 frontend/ # Frontend React App
│ ├── 📁 src/
│ │ ├── 📁 Components/ # Reusable React Components
│ │ ├── 📁 Pages/ # Page Components
│ │ ├── 📁 Context/ # React Context (State Management)
│ │ ├── 📁 Services/ # API Services
│ │ ├── 📁 Models/ # TypeScript Types
│ │ └── 📁 Helpers/ # Utility Functions
│ └── 📁 public/ # Static Assets
└── 📄 README.md # Proje Dokümantasyonu
- .NET 8 SDK
- Node.js (v16 veya üzeri)
- MySQL Server
- Visual Studio Code (önerilen)
-
Proje klasörüne gidin
cd api
-
NuGet paketlerini yükleyin
dotnet restore
-
Veritabanı bağlantı dizesini yapılandırın
appsettings.json
dosyasında MySQL bağlantı dizesini güncelleyin
-
Veritabanı migrasyonlarını çalıştırın
dotnet ef database update
-
API'yi çalıştırın
dotnet run
API https://localhost:5001
adresinde çalışacaktır.
-
Frontend klasörüne gidin
cd frontend
-
NPM paketlerini yükleyin
npm install
-
Geliştirme sunucusunu başlatın
npm start
Frontend http://localhost:3000
adresinde çalışacaktır.
POST /api/account/register
- Kullanıcı kaydıPOST /api/account/login
- Kullanıcı girişi
GET /api/stock
- Tüm hisse senetlerini listeleGET /api/stock/{id}
- Belirli bir hisse senedini getirPOST /api/stock
- Yeni hisse senedi eklePUT /api/stock/{id}
- Hisse senedi güncelleDELETE /api/stock/{id}
- Hisse senedi sil
GET /api/portfolio
- Kullanıcı portfolyosunu getirPOST /api/portfolio
- Portfolyoya hisse ekleDELETE /api/portfolio/{symbol}
- Portfolyodan hisse çıkar
GET /api/comment/{stockId}
- Hisse yorumlarını getirPOST /api/comment/{stockId}
- Yeni yorum eklePUT /api/comment/{id}
- Yorum güncelleDELETE /api/comment/{id}
- Yorum sil
- C#: Microsoft C# Coding Conventions
- TypeScript/React: ESLint ve Prettier konfigürasyonu
- Database: Code First approach with Entity Framework
- JWT token tabanlı kimlik doğrulama
- Güçlü şifre politikası (12+ karakter, büyük/küçük harf, rakam, özel karakter)
- CORS politikaları
- SQL Injection koruması (Entity Framework)
cd api
dotnet test
cd frontend
npm test
cd api
dotnet publish -c Release -o ./publish
cd frontend
npm run build
- Projeyi fork edin
- Feature branch oluşturun (
git checkout -b feature/AmazingFeature
) - Değişikliklerinizi commit edin (
git commit -m 'Add some AmazingFeature'
) - Branch'inizi push edin (
git push origin feature/AmazingFeature
) - Pull Request oluşturun
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE
dosyasına bakın.
Proje Sahibi - GitHub Profili
Proje Linki: https://github.com/alakkaya/finshark
⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!