BOHCA resim, müzik, dosya gibi belgelerin depolanabildiği bir dosya paylaşım platformu uygulamasıdır ve bulut depolama teknolojisini kullanmaktadır. Bulut depolama sayesinde depolama ve veri transfer hızını arttırır, ayrıca iş gücünden ve maliyetten de tasarruf sağlanır. Bulut depolamayı kullanabilmek için tek koşul internete bağlı olmaktır. BOHCA, kullanıcılarına belirli boyutlarda alanlar tahsis eder ve bu alana kullanıcı istediği dökümanları yükleyebilir. Uygulamayı kullanabilmek için kullanıcı “BOHÇA”nın web sayfasından kayıt olmalıdır. Daha sonra da uygun yazılımı indirip bilgisayarına kurması gerekir. Bilgisayarımıza programı indirdiğimizde karşımıza bir açılış ekranı geliyor. Bu ekrana web sayfasından kaydolurken girmiş olduğumuz kullanıcı adı ve parolasını girmeminiz gerekiyor. Aksi halde program sisteminizde kurulmayacaktır. Eğer doğru kullanıcı adı ve parolası girdiyseniz kurulum ekranı karşınıza gelecektir. Bu ekranda çalışma dizininiz olarak varsayılan olarak alınıp program oraya kurulacaktır. Eğer kurulum için başka bir yol girmek isterseniz istediğiniz dizin yolunu yazabilirsiniz. Program, siz açılış ekranından doğru giriş yaptığınız da arka planda kullanıcı için bir dizin oluşturacaktır. Kullanıcı herhengi bir belge, döküman, dosya, klasör vs. BOHCA'da saklamak istediğinde bu dizine göndermek istediklerini sürükleyip bırakması yeterli olacaktır. Bu dosyalar internet üzerinden sunucuya gönderilirken şifreleme algoritmalarıyla şifreleniyor. Böylelikle dosya iletiminde güvenlik arttırılıyor. Projemiz katkıya açık bir özgür yazılım projesi olarak geliştirilmektadir.
bohca's Introduction
bohca's People
Forkers
alicanakkus karakocozan thetacore harictengazel aykutsimsekk rock9966 cokoprens melikeadmis teknodark geckaldim furkancelik ysahin01 keladampapur aykut1954 fadimezhan gunermd gzme dadas45li nemerki caner1234bohca's Issues
ajanlarda bir yardım sayfası olmalı
yardım içeriğinin ajanlarla beraber dağıtılması yerine bohcanın ilgili sayfasına yönlendirilmesi daha iyi olabilir.
rpm paketi hazırlanmalı
Redhat, OpenSuse ve rpm paket yöneticisini kullananlar için bir .rpm paketi hazırlanmalı.
yapılan değişiklik geri alınabilmeli
Bu özellik sadece yetkilendirilmiş kullanıcılar için çalışmalı
gitte kaldığındna yerden gönderim özelliği var mı?
Bağlantı kesilince baştan mı gönderiyor yoksa kaldığı yerden mi?
proje web sayfası hazırlanmalı
Github Pages (http://pages.github.com) kullanarak bohca için bir web sayfası hazırlanmalı.
kurulum ekranı
Kullanıcı adı ve parolanın girilebildiği, bunların sunucu tarafındaki bilgilerle aynı olup olmadığının kontrol edilebildiği bir giriş ekranı olmalı.
Kullanıcının hesabı yoksa giriş ekranında yeni hesap oluşturma alanı olmalı.
Kullancıya bohca dizinini yeniden adlandırma imkanı verilmeli.
kota tanımlanabilmeli
Kullancılara hesap açtıklarında belli bir miktar disk alanı varsayılan olarak atanmalı.
Lisans
Bohca'nın hangi lisansla dağıtılacağına karar verilip lisans bilgisi kaynak kodlara eklenmeli
Kurulum belgeleri hazırlanmalı
Bunu insan kuracak diye düşünerek hem Türkçe hem de İngilizce kurulum belgeleri hazırlanmalı.
Android ajanı
bohcanın android'te çalışan bir ajanı yazılmalı
kullanıcıya uygulamanın dosya yolu için seçenekler sunulacak
Uygulamayı kullananlar isterlerse varsayılan olarak atanmış dosya yolunu bu seçenekler kısmını kullanarak değiştirebilecekler.
Dil dosyası transifex'e konulmalı
Türkçe ve İngilizce dışındaki dillere çeviri yapılabilmesi için po dosyası transifex.com adresine konulmalı.
logo
programın bir logosu olmalı. sistem çekmecesine eklenecek simge de logunun küçük hali olmalı.
Dosyalarda değişiklik olduğunda kullanıcının bilgilendirilmesi
Çalışma klasörü izlenerek herhangi bir dosya yüklenmesi ya da bir dosyanın değiştirlimesi durumunda bir uyarı mesajı verilmeli.
Git ile gönderebildiğimiz dosya boyutunda kısıtlamaların araştırılması
Çok büyük boyutlardaki dosyaları commitleyebiliyor muyuz,bu iş nasıl yapılıyor.
dosyalar sunucuya gönderilirken kullanıcı adı ve parola sorulmamalı
Yereldeki her değişiklikten sonra sunucuya göndermek için kullanıcıdan kimlik kanıtlaması istenmemeli.
kullanıcı kotasının kullanım oranını ajandan görebilmeli
Sistem çekmecesine yerleşen simgeye tıklandığında kota ve kullanım oranı görülebilmeli
ajanların kullandıkları diller elle değiştirilebilmeli
Ajanlar varsayılan olarak sistem yerelini kullanmalı ama istenirse arayüzlerinden dilleri değiştirilebilmeli.
deb paketi yapılmalı
Debian, Ubuntu ve deb paket yöneticisini kullananlar için bir .deb paketi hazırlanmalı.
windows ajanı
bohcanın windows tarafında çalışan bir ajanı yazılmalı
kullanıcılar için web arayüzü
Her kullanıcının kendi kullanıcı adı ve parolasıyla erişebileceği ve dosyalarını görebileceği bir web sayfası bulunmalı.
çoklu dil desteği
Kullanıcıya gösterilecek mesajların hiç biri koda gömülü olmamalı. Bu mesajları içeren her dil için ayrı dosyalar olmalı.
dosya ve dalların düzenlenmesi
calisma diye dal adı vermişsiniz -> devel yaparsanız diğerleri ile uyumlu bir geliştirme ağacı olur. Devel altında geliştirip, kararlı sürümlerde master dalına taşıyoruz.
PEP8 standartlarında kod yazın demiştim. Dosya isimeleri, değişkenler, sınıf adları Ingilizce olsun diye anlaşmıştık. Gönderim mesajlarınız Türkçe olabilir.
Projeye bakan birisi o ne bu ne diye düşünmemeli. Sonunda sayılar olan dosya isimleri vermemelisiniz.
Kısacası şu dosya yapınıza bir el atın derim.
ajanlarda bir "hakkında" alanı olmalı
Hakkında alanında geliştiriciler, çevirmenler ve proje web sayfası görüntülenmeli
dizin içerisindeki değişiklikleri algılama ve bunu yapan bir arayüz yazımı
Bu işi yapan bir QT uygulaması yazılsın diyoruz. Hangi dizinin bu iş için kullanılacağını belirtsin. İçine bir dosya atınca da bir uyarı versin, dosya değişince de bir uyarı versin.
programlama diline karar verilmesi
git kitaplıklarına bakarak hangi programlama dilinin kullanılacağına karar verilmesi lazım.
Açılış ekranı
program çalıştırıldığında kullanıcıya bohca dizinini göstermeli ve kendisi sistem çekmecesine yerleşmeli.
bohca --first-time parametresiyle çalıştırıldığında kurulum ekranı görüntülenmeli.
Seçilen kütüphanenin tüm dillere uyumluluğu
Kütüphane tüm dillere uygun mu, seçtiğimiz kütüphaneyi tüm ortamlarda kullanabilecek miyiz araştırılacak.
uyarılar kapatılabilmeli
Kullanıcılar isterse dosya eklendi/çıkartıldı mesajlarını kapatabilmeli
başlangıçta başlama ayarlanabilmeli
bohca'nın bilgisayarın her açılışında başlatılıp başlatılmayacağı ajan üzerinden ayarlanabilmeli
uygulama için varsayılan bir dosya yolu atamak
Uygulama başlatıldığında varsayılan olarak /home/kullanıcı klasörü altında bir bohca dizini varsayılan dosya yolu olarak atanacak.
projede kullandığımız git sunucusu yerine başka bir sunucuya bağlanılacak
Bu sunucu gitolite ile oluşturulmuş bir sanal sunucu olabilir. Bu sanal sunucuya kullanıcı adı ve parolası sorulmadan bağlanabilmeliyiz.
kullanıcı sistemde kayıtlı ise kurulumun ardından sunucudan dosyalar eşlenmeli
Sistemde daha önce oturum açmış bir kullanıcının dosyaları yeni kullanacığı bilgisayarına aktarılmalı.
libgit2 kütüphanesi yerine yeni kütüphane seçilmesi
libgit2 içerisinde python için olan kütüphanesi ( https://github.com/libgit2/pygit2 ) pull ve push işlemlerini yapamadığı için yeni bir kütüphane araştırılacak.
kullanılacak disk alanı kısıtlanabilmeli
Kullanıcı oturum açtığı bilgisayara en fazla ne kadar veri indirilebileceğini belirleyebilmeli. Bu özellikle mobil cihazlar için öenmli bir konu.
IOS 6 ajanı
Bohcanın IOS6'da çalışan bir ajanı yazılmalı
vekil sunucu kullanılabilmeli
İnternet bağlantısı için vekil sunucu kullanılabilmeli. Varsayılan değeri proxy kullanma olarak atanmalı ama kullanılmak istenirse IP adresi ve port numarası girilerek erişim sağlanabilmeli. Bazı vekil sunucular kimlik kanıtlaması istediğinden ilave olarak bunların da girilmesi desteklenmeli.
eşleştirme duraklatılabilmeli
Kullanıcı istediği zaman bohca dizininde yaptığı işlemlerin sunucuya gönderilemsini durdurabilmeli ve yeniden başlatabilmeli.
hesap silinebilmeli
Kullanıcı programdan kendi hesabını kaldırabilmeli
ağ bağlantısı kontrol edilmeli
İstemcide çalışan ajan yerelde değişiklik olduğu durumda ağ bağlantısı yoksa sunucuyla eşleştirilmemiş dosyalar olduğunu kullanıcıya haber vermeli.
dosya göndermek için depo oluşturma
depo oluşturulduktan sonra dosya göndermek için oluşturulan deponun daha önceden oluşturulup oluşturulmadığı kontrol edilmeli.
kullanılacak bant genişliği sınırlandırılabilmeli
Kullanıcı bohca'nın kullanabileceği bant genişliğini istediği bir değerle sınırlandırabilmeli
yönetim arayüzü
Sunucu tarafından (kullanıcı adı ve parola ile) erişilen bir web arayüzünde hangi kullanıcının ne kadar kotasının olduğu, bunun ne kadarının kullanıldığı gibi bilgilerin göründüğü bir arayüz olmalı.
Yetkili kullanıcı buradan istediğinde kota miktarını değiştirebilmeli.
Açılış ekranı ile kurulum ekranı birbirine bağlantılı hale getirilecek
Program çalıştırıldığında karşımıza gelen açılış ekranında kullanıcı adı ve parolası girildikten sonra kurulum ekranı gelmelidir.
arayüz ile sunucuya dosya gönderim işlemi birleştirilmeli
Oluşturulan arayüz ile sunucuya dosya gönderme işi bitirilecek.
Projenin duyurusu yapılmalı
freecode.com gibi sitelerde projenin duyurusu yapılmalı
Mac OS X ajanı
bohcanın Mac OS X'te çalışan bir ajanı yazılmalı
Bağlantı kesildiğinde dosya gönderimi
Bağlantı kesildiği durumlarda tekrar bağlantı kurulduğunda dosya gönderimi kaldığıı yerden devam ediyor mu araştırılacak.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.