KO
|
EN
gitlite — search
Search
#python
#javascript
#typescript
#ai
#automation
#web-development
#nodejs
#rust
#cli
#gemini
#swift
#react
aya.is
★ 60
Open GitHub ↗
aya web sitesi kaynak kodları
Download README (.md)
Explore Similar Repositories
nextcloud-tables
:
📊 Android client for nextcloud tables app
TransSimHub
:
TransSimHub is a lightweight Python library for simulating and controlling transportation systems.
cobra
:
The Cobra Programming Language, which is a high-level statically typed programming language and a subset of Typescript
react-flow-tutorials
:
No description available.
swift-sdk-darwin
:
Darwin Swift SDK for Linux (experimental)
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
aya.is
?
Download (.md)
# AYA Web Sitesi [](https://discord.gg/itdepremyardim) [](https://github.com/eser/aya.is/issues) (For English please click [here](README.en.md)) Açık kaynak yazılımı ve açık kaynak verilerine ortak ilgi duyan bireylerden oluşan sıkı bağlı ve tutkulu bir topluluğuz. Toplumun iyileştirilmesi için teknolojiden yararlanma kararlılığımızla birleşerek, Türkiye'de meydana gelen yıkıcı [Şubat 2023 depremi](https://en.wikipedia.org/wiki/2023_Turkey%E2%80%93Syria_earthquake) sonrasında güçlerimizi birleştirdik. Depremin ardından, etkilenenlere destek olma ve aileleri ile sevdiklerini yeniden bir araya getirme sürecine yardım etme acil ihtiyacını fark ettik. Bu amaç doğrultusunda, bireyler arasındaki arama ve bağlantıyı kolaylaştırmayı hedefleyen yenilikçi araçlar ve çözümler geliştirmek için yola çıktık. Yorulmak bilmeyen iş birliği ve kolektif çabalar sayesinde topluluğumuz ilham verici bir büyüklüğe ulaştı ve 24.000 kişiden oluşan bir topluluk haline geldik. Birlikte, aileleri yeniden bir araya getirmeye, umudu geri kazandırmaya ve depremden etkilenenlere teselli sunmaya yardımcı olmak için teknolojinin gücünden yararlanarak araçlarımızı sürekli olarak geliştiriyoruz ve genişletiyoruz. İlerlemeye devam ederken, taahhüdümüzden sapmadan devam ediyoruz. Araçlarımızı geliştirmeye, açık kaynak projelere aktif olarak katkıda bulunmaya ve bilgi paylaşımı ve iş birliğinin geliştiği destekleyici bir ortamı teşvik etmeye çalışıyoruz. Açık kaynak topluluğunun bir parçası olmaktan gurur duyuyoruz ve sizlerle olan yolculuğumuza dört gözle devam etmek için sabırsızlanıyoruz. ## Görevimiz Açık kaynak çözümlerini kullanarak, bilgi sistemlerini uygulayarak ve mühendislik uygulamalarını hayata geçirerek, içinde yaşadığımız toplumun iyileştirilmesine aktif olarak katkıda bulunmayı hedefliyoruz. Öncelikli odak noktamız, sosyal sorumluluk ihtiyaçlarını karşılamak ve bu yollarla çeşitli toplumsal zorluklarla baş etmektir. Uzmanlığımızı ve kaynaklarımızı kullanarak, topluluğumuz içinde pozitif bir etki yaratmayı ve sürdürülebilir kalkınmayı teşvik etmeyi amaçlıyoruz. ## Teknoloji Bu bir Docker Compose tabanlı monorepo projesidir. Aşağıdaki bileşenleri içerir: - **Frontend (webclient)**: Deno, TanStack Start, Vite ve Shadcn UI kullanır - **Backend (services)**: Go dilinde yazılmış REST API servisleri - **Veritabanı**: PostgreSQL Önceden kurulu olması gerekenler: - [Docker](https://docker.com) (Orbstack önerilir) - [Make](https://www.gnu.org/software/make/) (Unix/macOS sistemlerde genellikle yüklüdür) - [Git](https://git-scm.com/) ## Kurulum ve Başlangıç GitHub repository'sini klonlayın: ```bash $ git clone git@github.com:eser/aya.is.git $ cd aya.is ``` Backend servisi için gerekli ortam değişkenlerini ayarlayın: ```bash # .env.local dosyası oluşturun (bu dosya git'e eklenmez) $ cat > apps/services/.env.local << EOF AUTH__JWT_SECRET=herhangi-bir-gizli-anahtar EOF ``` > **Not:** `AUTH__JWT_SECRET` kimlik doğrulama için zorunludur. Geliştirme ortamında herhangi bir değer > kullanabilirsiniz. #### Telegram Bot (İsteğe Bağlı) Telegram entegrasyonunu etkinleştirmek için [@BotFather](https://t.me/BotFather) üzerinden bir bot oluşturun ve aşağıdaki ortam değişkenlerini ekleyin: ```bash # Geliştirme ortamı (polling modu — public URL gerektirmez) TELEGRAM__ENABLED=true TELEGRAM__BOT_TOKEN=<BotFather'dan aldığınız token> TELEGRAM__BOT_USERNAME=ayabot TELEGRAM__USE_POLLING=true WORKERS__TELEGRAM_BOT__ENABLED=true ``` ```bash # Production ortamı (webhook modu) TELEGRAM__ENABLED=true TELEGRAM__BOT_TOKEN=<BotFather'dan aldığınız token> TELEGRAM__BOT_USERNAME=ayabot TELEGRAM__WEBHOOK_URL=https://api.aya.is/telegram/webhook TELEGRAM__WEBHOOK_SECRET=<rastgele-gizli-anahtar> ``` Projeyi başlatmak için Make komutlarını kullanın: ```bash # Tüm servisleri build et ve başlat $ make up ``` Diğer kullanışlı Make komutları: ```bash $ make help # Tüm komutları göster $ make logs # Container loglarını göster $ make stop # Servisleri durdur $ make restart # Servisleri yeniden başlat $ make down # Containerları tamamen kaldır ``` ## Nix ile Geliştirme (İsteğe Bağlı) Proje, tüm geliştirme araçlarını sağlayan bir [Nix](https://nixos.org/download/) flake içerir. Bu yöntemde sadece PostgreSQL Docker ile çalışır, backend ve frontend yerel olarak çalıştırılır. Nix geliştirme ortamını etkinleştirin: ```bash $ nix develop ``` > **İpucu:** [direnv](https://direnv.net/) kullanıyorsanız `direnv allow` komutu ile shell otomatik olarak etkinleşir. Nix shell, Go 1.24, Node.js 20, Deno, pnpm, sqlc, air, golangci-lint ve diğer tüm gerekli araçları sağlar. Backend servisi için ortam değişkenlerini ayarlayın (varsayılan veritabanı bağlantısı `config.json` dosyasında `localhost:5432` olarak tanımlıdır): ```bash $ cat > apps/services/.env.local << EOF AUTH__JWT_SECRET=herhangi-bir-gizli-anahtar EOF ``` Servisleri başlatmak için üç ayrı terminal açın: ```bash # 1. PostgreSQL $ docker compose up -d postgres # 2. Backend (hot-reload) $ cd apps/services && make dev # 3. Frontend $ cd apps/webclient && deno task dev ``` API `http://localhost:8080`, frontend `http://localhost:3000` adresinde erişilebilir olacaktır. ## Proje Yönetimi ve CLI Servis container'ına bağlanmak için: ```bash $ make cli ``` Bu komut sizi backend servisinin bash shell'ine bağlar. Buradan veritabanı yönetimi ve diğer işlemleri yapabilirsiniz. ### Örnek Profil getirme: ```js await backend.getProfile("tr", "eser"); ``` ### Veri Modeli Proje aşağıdaki ana veri yapılarını kullanır: - **Profile**: Kullanıcı profilleri (bireyler, organizasyonlar, topluluklar) - **Story**: İçerik ve yazılar (blog yazıları, haberler, etkinlikler) - **User**: Sistem kullanıcıları ve kimlik doğrulama bilgileri ## Nasıl Katkıda Bulunabilirsin? Herkesten katkı bekliyoruz. Başlamak için lütfen [katkıda bulunma kılavuzumuzu](.github/CONTRIBUTING.md) okuyun. Yardım etmek isterseniz [issue'lara](https://github.com/eser/aya.is/issues) göz atabilirsiniz. Herhangi bir sorunuz varsa [Discord sunucumuza](https://discord.gg/itdepremyardim) katılmaktan çekinmeyin. Herhangi bir noktada takılırsanız, GitHub Issues veya Discord üzerinden yardım istemekten çekinmeyin. ## Lisans Apache 2.0, detaylar için [LICENSE](LICENSE) dosyasını inceleyebilirsiniz.