Witam Was wszystkich. Dzisiaj chciałbym się z Wami podzielić moim pomysłem na aplikację, której nigdy nie napisałem. Wymyśliłem ją razem z moim kolegą Tomkiem. Zapraszam do obejrzenia projektu aplikacji "Co Komu Kiedy".
Poniższy post jest specyfikacją funkcjonalną aplikacji wspomagającej zarządzanie pożyczonymi rzeczami. W skład projektu wchodzą:
- Dokumentacja techniczna
- Aplikacja SaaS ( Software as a Service )
- Aplikacja mobilna dla iPhone'a i iPad'aAplikacja mobilna dla Android'a
- Aplikacja dla Windows'a
- Aplikacja dla Mac'a
- Aplikacja dla Linux'a
- Strona WWW promująca gotowy produkt
Etapy pracy nad projektem
- Utworzenie dokumentacji techncznej przyszłego produktu CoKoKi
- Wykupienie domeny internetowej www.cokoki.pl
- Wykupienie certyfikatu SSL dla domeny głównej oraz subdomen
- Zaprojektowanie serwisu SaaS
- Implementacja serwisu SaaS w technologii : javascript, HTML5 oraz CSS3 oraz PHP i MySQL
- Implementacja aplikacji dla iPhone'a & iPad'a
- Implementacja aplikacji dla Android'a
- Implementacja aplikacji Windows'a oraz Linux'a oraz MAC'a
- Zaimplementowanie bramki SMS GateWay w powyższym serwisie poprzez web services
- Weryfikacja aplikacji pod względem USABILITY
- Utworzenie strony internetowej promującej gotowy produkt
- Wypromowanie gotowego produktu w internecie
Dostępne platformy aplikacji
- w chmurze pod adresem http://www.cokoki.pl
- Windows
- Mac
- iPhone & iPad
- Android
- Linux
Bezpieczeństwo aplikacji
- Nasza infrastruktura serwerowa będzie zaprojektowana z myślą o bezpieczeństwie danych użytkowników aplikacji CoKoKi.
- Aby zagwarantować nieprzerwane świadczenie usług będziemy wykonywać częste backupy danych do bezpiecznych centrów danych przy użyciu szyfrowanych połączeń.
- Hasła naszych użytkowników będą "haszowane" przy pomocy funkcji md5
Użyte technologie
- PHP
- JavaScript (jQuery)
- HTML5 i CSS3
- Swift (iPhone)
- Baza danych SQLite
- Baza danych MySQL
- Certyfikat SSL zweryfikowany przez firmę DigiCert
- Bramka SMS'owa SMSGateWay stworzona przez firmę BlueMedia
Środowiska programistyczne
- Adobe AIR SDK ( darmowe )
- Xcode ( darmowe )
Oprogramowanie pomocnicze
- System kontroli wersji GIT
- Aplikacja EverNote do robienia notatek
- Aplikacja Nozbe do zarządzania projektami
Interfejs aplikacji
zarządzanie kontaktami
dodawanie nowego kontaktu
usuwanie kontaktu
edycja istniejącego kontaktu
zarządzanie pożyczonymi rzeczami
dodawanie nowego przedmiotu
usuwanie przedmiotu
edycja istniejącego przedmiotu
zarządzanie zdjęciami dodanych przedmiotów
dodawanie nowego zdjęcia
usuwanie zdjęcia
Nowinki techniczne
Użytkownik systemu CoKoKi będzie mógł zrobić zdjęcie pożyczonego przedmiotu na swoim telefonie i w prosty sposób wstawić je do tabeli rzeczy.
Użytkownik systemu CoKoKi będzie dostawał SMS'a przypominającego o odbiorze pożyczonego przedmiotu.
Nasza aplikacja będzie korzystać z bramki SMS. Oto jej parametry:
Chcielibyśmy korzystać z bramki SMS’owej używając web services z wykorzystaniem technologii SOAP lub REST API
Do wymiany danych chcielibyśmy wykorzystać format JSON lub XML
Nasza aplikacja jest napisana w PHP oraz JavaScript. Chcielibyśmy wykorzystać język WSDL
W interfejsie chcielibyśmy korzystać z następujących metod:
wysyłka SMS z naszej aplikacji na telefon komórkowy
sprawdzenie statusu doręczenia wiadomości
Chcielibyśmy aby interfejs wykorzystywał połączenie HTTPS poprzez wykorzystanie protokołu SSL (port 443)
Znaki powinny być kodowane w standardzie UTF-8
Planowana współpraca z innymi firmami
- Hosting WWW - Firma HitMe
- Certyfikat SSL - Firma HitMe ( dzięki firmie DIGICERT )
- Bramka SMS - Firma Blue Media
- Rejestracja domeny - Firma OVH
Abonamenty
Aplikacja będzie dostępna w wersji basic - darmowej oraz wersji premium - płatnej. Kliknij na poniższy rysunek aby powiększyć.
Formy płatności
- PayU
- PayPal
- Przelewy 24
Projekt techniczny aplikacji "Co Komu Kiedy"
Organizacja katalogów systemu
http://www.cokoki.pl
witryna promująca aplikację CoKoKihttps://app.cokoki.pl
strona weryfikująca na jakim urządzeniu będzie uruchomiona aplikacjahttp://help.cokoki.pl
witryna będąca pomocą techniczną dla aplikacji CoKoKi
Organizacja bazy danych - wykaz tabel
Tabela kontakty przechowuje listę osób, które coś pożyczyły od użytkownika systemu.
Tabela rzeczy przechowuje rzeczy (przedmioty), które zostały pożyczone przez osoby z tabeli kontakty.
Tabela relacje informuje nas jaką rzecz (przedmiot) mamy oddzyskać od danej osoby z tabeli kontakty.
Tabela uzytkownicy przechowuje dane użytkownika systemu.
Organizacja bazy danych - struktura
Tabela kontakty
ID INT(10) NOT NULL AUTO_INCREMENT
NR_UZYTKOWNICY INT(10)
NICK VARCHAR(100)
EMAIL VARCHAR(100)
FOTOGRAFIA VARCHAR(200)
Tabela rzeczy
ID INT(10) NOT NULL AUTO_INCREMENT
NR_UZYTKOWNICY INT(10)
PRZEDMIOT VARCHAR(100)
FOTOGRAFIA VARCHAR(200)
Tabela relacje
ID INT(10) NOT NULL AUTO_INCREMENT
NR_UZYTKOWNICY INT(10)
NR_KONTAKTY INT(10)
NR_RZECZY INT(10)
DATA_ZWROTU DATE
Tabela uzytkownicy
ID INT(10) NOT NULL AUTO_INCREMENT
LOGIN VARCHAR(100)
HASLO VARCHAR(100)
EMAIL VARCHAR(100)
Organizacja bazy danych - relacje między tabelami
rzeczy(ID) jest w relacji relacje(NR_RZECZY)
Jest to to relacja jeden do wielu.kontakty(ID) jest w relacji relacje(NR_KONTAKTY)
Jest to to relacja jeden do wielu.uzytkownicy(ID) jest w relacji rzeczy(NR_UZYTKOWNICY)
Jest to to relacja jeden do wielu.uzytkownicy(ID) jest w relacji kontakty(NR_UZYTKOWNICY)
Jest to to relacja jeden do wielu.uzytkownicy(ID) jest w relacji relacje(NR_UZYTKOWNICY)
Jest to to relacja jeden do wielu.
Książki, które przeczytałem w celu napisana tej specyfikacji
- Jakob Nielsen, Raluca Budiu, Funkcjonalność aplikacji mobilnych, Wydawnictwo Helion
- Edward Hasted, Sprzedaj swój software, Wydawnictwo Helion.
Komentarze
Prześlij komentarz