niedziela, 23 kwietnia 2017

PicRate - $_SESSION['PHP']; #16

W końcu czas na PHP.
Przy projekcie nie korzystam z żadnego frameworku PHP. Opieram się na sesjach i MySQL. Stworzyłem już rejestracje i logowanie. Zostają zdjęcia, komentarze, uprawnienia dla użytkowników i moderacja treści. Na gitHub będę dodawał też backup bazy danych. Naprawdę przydałby się hosting. Na swojej drodze nie znalazłem jak na razie problemów. Oczywiście, jeżeli chodzi o kod, z czasem ciągle mam problemy. Mija niewyobrażalnie szybko.


Postanowiłem też, że zamiast robienia osobnego posta na temat "Daj sie poznać" jak sama nazwa mówi - posta o mnie - zrobię po prawej stronie blok z informacją kim jestem.
Jeżeli DSP wystartuje za rok stawiam na więcej. Dobrze wiem jak wygląda krzywa uczenia się programowania, ale jestem ambitny.

Link do projektu: PicRate

Aktualizacje: Zaktualizowałem gitHub.

PicRate - PicRate a DajSiePoznac #15

Witam wszystkich zgromadzonych! Po przejrzeniu paru blogów dajsiepoznać mogę wywnioskować dwie rzeczy:

1. Plan konkursu to niesamowity pomysł. Na prawdę ludzie dodają sporo materiałów, które można bez wątpienia zaliczyć jako edukacyjne za darmo dlatego, że wymagany jest blog.
2. Mój blog jest strasznie "łysy" w porównaniu do niektórych, ale od razu widać kto prowadził już kiedyś bloga a kto zaczął pare miesięcy temu. Jeżeli będzie następna edycja Daj Sie Poznać, mam zamiar przygotować bloga takiego, który by faktycznie mnie reprezentował. Poczekajmy rok.

Ciekawi mnie też ile osób już odpadło. Na początku myślałem, że prowadzenie bloga i pisanie kodu to bułka zmasłem, ale jak się okazuje nic bardziej mylnego. Wymóg dwóch postów wywiera presje jak i motywuje do pisania. Zabiera to czas, zastanawiam się, dlaczego DSP nie może startować w wakacje.
Na pewnym blogu znalazłem komentarz "Nie poddawaj się….Ja też obydwa wpisy na bloga popełniam w ostatni dzień tyg  zaś koduje ukradkiem 1-2 wieczory w tyg.
Nie uważam tego za porażkę, a jedynie alternatywne zarządzanie czasem.". Jednak nie jestem sam. Największym problemem programowania jest czas poświęcony na to.

Szukałem osób którę "piszą facebooka", znalazłem i takie. Doceniam takie ambicje, ale... no cóż, jeszcze się nie skończyło, może się im uda. Mam zamiar też, dać w przyszłości linki do ciekawych projektów innych osób, np. 9MSC Joanny Repelewicz. Przekonywający opis, pisanie kodu w ciąży i tak dalej. Świetna sprawa, ale postów? Brak. "Javny Kod" nawet nie wystartował. A szkoda. Mimo wszystko całkiem przyjemnie się czyta blogi innych początkujących. Staram się szukać projektów z technologii, które znam, dlatego na przyszłej liście pojawią się w większości projekty związane z webmasterką.

Projekt ma już hashowane hasła. Większość rzeczy już działa zsynchronizowane z użytkownikiem.


Link do projektu: PicRate

Aktualizacje: Brak aktualizacji

niedziela, 16 kwietnia 2017

PicRate - Jak to wygląda? #14

Wesołych Świąt! 


 Screeny jak to wszystko wygląda na obecną chwile: 


Panel logowania + wyświetlanie błędów

Strona użytkowa

Profil użytkownika

Ustawienia użytkownika


Upload plików
No i tutaj możemy się zatrzymać.  Sam upload to ciekawy temat, który też postaram się omówić a tutaj problem polega na wyświetlaniu plików które użytkownik ma zamiar wysłać. Zdjęcia nie pokazują się w dużej rozdzielczości choć jak widać mają jeszcze sporo miejsca. Postaram się to naprawić w najbliższym czasie. 


Nawigacja użytkownika

Strona użytkowa jako użytkownik anonimowy

Link do projektu : PicRate

Aktualizacje: Brak aktualizacji





PicRate - Dlaczego nie MVC? #13

Nie tworzę CMS'a więc system MVC raczej nie będzie mi potrzebny. W pobocznych projektach z tego korzystam i w moim przyszłym wielkim projekcie również zamierzam z tego korzystać, ale do PicRate wystarczy prostota kodu.

Link do projektu: PicRate

Aktualizacje: Brak aktualizacji

niedziela, 9 kwietnia 2017

PicRate - Baza danych #12

Pora na bazę danych! Czas na przemyślenie relacji, rekordów, a i tak pewnie będę sporo zmieniał.
Co powinien zawierać portal zbierający od ludzi zdjęcia i pozwalający na ich ocenę?

Więc tak:
USERS: - przechowuje podstawowe dane o użytkownikach
id - wiadomo,
username - będzie przechowywać nazwę użytkownika,
password - zhashowane hasło użytkownika,
e-mail - email użytkownika,
data - data założenia konta,
images_count - albo ilość ocenionych zdjęć lub ilość zdjęć użytkownika, ale nad tym jeszcze pomyśle, dzięki relatywnym bazom danych tego tutaj może nie być i raczej nie będzie,
avatar - nazwa ścieżki do avatara użytkownika,
admin - nad tym też bym się spierał - mówi czy użytkownik jest administratorem czy nie,
fb/twitter/snap/print/tumb - nazwy lub linki do profili spolecznosciowych,
web - link do własnego portfolio/strony internetowej.

IMAGES - zdjęcia użytkowników;
id - wiadomo,
author - id użytkownika, który wysłał zdjęcie,
url - ścieżka do zdjęcia
data - data dodania zdjęcia
rate - obecna średnia ocena zdjęcia zmieniana dynamicznie. (Nie wiem czy to dobry pomysł, ale lepszego nie mam)
stop - wartość prawda/fałsz, jeżeli prawda to zdjęcie jest "nieaktywne", nie oceniane, nie pojawia się innym użytkownikom itd.,
comment - wartość p/f, jeżeli prawda to komentarze są włączone do tego zdjęcia,
download - wartość prawda/fałsz, jeżeli prawda to zdjęcie można pobrać w oryginalnej rozdzielczości na stronie głównej,
changed - wartość prawda/fałsz, jeżeli prawda to wyświetlana jest informacja, że zdjęcie zostało przerabiane przy pomocy jakiegoś photoshopo-podobnego programu.

COMMENTS - komentarze użytkowników;
id - wiadomo,
author - id użytkownika, który napisał komentarz,
photo - zdjęcie do którego jest napisany komentarz,
comment - treśc komentarza,
data - data napisania komenatarza,

BANNED - zawiera zbanowanych delikwentów;
id - wiadomo,
user - id zbanowanego użytkownika,
ip - adres ip zbanowanego użytkownika,
data - data zbanowania.

W trakcie pisania i testowania, jeżeli będę czegoś potrzebował w bazie danych to najzwyczajniej to zaimplementuje.

Link do projektu: PicRate

Aktualizacje: Brak aktualizacji

PicRate - Ban dla anona #11

Jako że pozwalam anonimowym użytkownikom korzystać ze strony muszę jakoś ją zabezpieczyć przed typowymi śmieszkami, które każde zdjęcie by oceniali na 0 lub 10. Mam zamiar zrobić blokadę, dzięki której po załadowaniu zdjęcia trzeba odczekać ok. 10 sekund, a jeżeli w ~5 zdjęciach z rzędu ktoś da tą samą skrajną ocenę (0/1) dostaje ostrzeżenie lub tymczasowo zablokowaną możliwość korzystania ze strony.

Link do projektu: PicRate

niedziela, 2 kwietnia 2017

PicRate - Plan => Sukces #10

Wydaję mi się, że to, co najważniejsze już zostało z grubsza stworzone, w trakcie pisania będę oczywiście dokładał rzeczy - wiąże się to z tym, że nie zrobiłem żadnego planu działania co jest więlkim błędem. Mam nadzieje, że nie będę zmuszony robić wielu rzeczy od nowa, lub – co gorsza – mozolnie zmieniać wszystko dla jednej rzeczy. A może nawet postaram się rozwiązać to w inny sposób, czas pokarzę. W tym miesiącu projekt mam zamiar skończyć więc trzeba wziąźć się do pracy - Albo lepiej, do myślenia. Planowania, a potem pracy. Najefektywniej. Better, faster, stronger!

Link do projektu: PicRate

PicRate - Cisza przed burzą #9

Z niezidentyfikowanych przyczyn muszę przełożyć post o sobie.

Biorąc udział w dajsiepoznać nie sądziłem, że pisanie 2 postów tygodniowo jest tak ciężkie. Może i to zależy od osoby, a już na pewno od zaangażowania - ale żeby pisać muszę mieć o czym. W projekcie dużo się nie dzieje, prawdę mówiąc mam bardzo mało czasu na jego realizacje co z racji wolnego (różnego rodzaju święta respektowane przez szkołę) mam zamiar pójść pewnym krokiem do przodu i wtedy będę mógł pisać o moich problemach, pomysłach i rozwiązaniach. Najlepiej by było, gdybym podczas pisania kodu notował sobie o czym mogę powiedzieć na tym blogu w związku z projektem.

Link do projektu: PicRate

Aktualizacje: Zaktualizowałem gitHub

niedziela, 26 marca 2017

PicRate - Grafik #8

Stworzyć muszę swój własny grafik zajęć. Odkładanie rzeczy na później nie jest dobre a posiadanie grafiku w pewnym stopniu eliminuje ten problem. 

Przed samym PHP stworzyć muszę jeszcze parę stron dla użytkownika i zajmuje się w końcu czymś poważniejszym, mianowicie JavaScriptem a finalnie PHP i MySql.
Razem z grafikiem zajęć najlepiej będzie jak sobie poukładam wszystko co chcę zrobić w projekcie. Dzięki temu nie będę się zastanawiał "hm, to już zrobiłem, to teraz przejdę do tego" a potem się okaże, że pominąłem ważną kwestie i muszę wszystko zmieniać. Tak właśnie powinno się tworzyć - z głową.





Link do projektu: PicRate

Informacje: Zaktualizowałem gitHub

Następny post będzie dotyczył strikte "DajSiePoznać" tj. opiszę kim jestem i czym się zajmuje, od kiedy i po co mi to wszystko.

PicRate - Cisza #7

Postanowiłem zmienić kolejność linków w postach, teraz będą umieszczone na dole ze względu na to, że parę PIERWSZYCH zdań wyświetla się na stronie dajsiepoznać. Postaram się też na dodawanie większej ilości zdjęć, bardziej się rozpisać i planować wszystkie posty.

Co do samego projektu - zaczyna mnie męczyć ta cała otoczka i struktura HTML. Tak to jest jak się nie ma przygotowanego projektu tylko wymyśla się w trakcie pisania. Bardzo zła praktyka z mojej strony, ale też nie mam dobrych narzędzi do stworzenia tego co by mi się spodobało. Muszę nad tym pomyśleć i popracować, żeby nie musieć zmieniać wielu linijek, tylko dlatego, że zapomniałem o jednej rzeczy, która mi się przypomniała już post-faktum.

Link do projektu: PicRate

niedziela, 19 marca 2017

PicRate - Projekt bazy danych i hosting(?) #6

Link do projektu + git: PicRate
Chętnie bym wykupił jakiś hosting, żeby móc pokazywać progres każdemu czytelnikowi i działanie pod domeną, a nie localhostem, ale brak środków na to nie pozwala. Nie chcę korzystać z czegoś darmowego typu cda, to się mija z celem.


Ciągle myślę nad zaprojektowaniem bazy danych, żeby znalazły tam się rzeczy potrzebne, ale żeby tego nie było zbyt dużo. Wymyślam jak można zastąpić niektóre niepotrzebne tabele korzystając z innych i wykonując jakieś proste obliczenia. Myślę też nad systemem ocen. Ma ich być od 0 do 10. Zastanawiam się też czy ocena 0 by mogła być brakiem oceny i przejściem do kolejnego zdjęcia. Takie pominięcie jak się nie można zdecydować czy coś. Można też odświeżyć stronę co prawda, ale warto przemyśleć kwestie pomijania.

PicRate - Projekty statyczne #5

Link do projektu i githuba: PicRate
Dużo pracy zajmuje sama strona statyczna, panel użytkownika, profile - do których nie wiem, czy zrobię jeszcze dostęp. Pierw muszę się dowiedzieć jak tworzyć linki do takich profilów, żeby każdy użytkownik mógł mieć swój własny i wysyłać go innym użytkownikom. Pierwszy wzór ustawień użytkownika już jest, jeszcze profil użytkownika i zajmę się javascriptem lub panelem administracyjnym - ale to jak na taki poziom projektu nie jest aż tak ważne.

zaktualizowałem github

niedziela, 12 marca 2017

PicRate - PHP a reszta #4

Projekt: PicRate
Mimo to, że całą uwagę chce skupić na kodzie PHP, a nie na stylowaniu i semantyce HTML-a to staram się, żeby jak najwięcej elementów miało tę samą klase - dobrze to wygląda i użytkownik w miarę się orientuje od czego jest co. Jakoś mi to nie wychodzi, ciągle co tworze nowy element przypisuje do niego osobną klasę, którą potem styluje. Pomógłby tu bootstrap, ale staram się nie korzystać z takich ulepszaczy, które mi same stworzą stronę. Chcę jak najwięcej się nauczyć - php co prawda, ale może też podłapie jak powinno się tworzyć arkusze stylów metodą prób i błędów. No cóż pozostaje mi liczyć, że w przyszłych fazach projektu będę mógł tworzyć klasy, które będą przypisane do wielu elementów i jakoś to będzie wyglądać.

Obecnie tworzę statyczną stronę bez PHP, nim się zajmę potem.

Myślałem nad zrobieniem pełnego CMSa obiektowo w PHP, byłoby to na pewno dobre - nawet wiem mniej więcej jak to zrobić, ale postanowiłem zacząć od podstaw. W końcu nie dowiem się, dlaczego lepiej pisać obiektowo jak nie napiszę nic bez tego.

Do opisu chciałbym dodać możliwość tworzenia emoji i ogólnie lepsze zaimplementowanie tego, ale to już wyższa szkoła jazdy

Co tydzień od teraz będę wrzucał na gitHub kolejne wersje kodu :)

Screeny z obecnej postaci (testowanie i lekkie eksperymentowanie - nie zwracajcie uwagę na kolorystykę):






środa, 8 marca 2017

PicRate - damn i need inspiration #3

Projekt: PicRate
Nawet nie zacząłem tworzyć konkretów, a już mam pierwsze problemy, mianowicie nie mam bladego pojęcia jak zaprojektować wygląd strony do przesyłania zdjęć. Postanowiłem, że zrobię to jako-tako przynajmniej na jakiś czas, wzorując się na innych portalach zakładam, że nikt nie będzie spędzał dużo czasu na tej podstronie.



DajSiePoznac: Jest to początek, a już mam oko na parę świetnych projektów i swoich "ulubieńców", świetne pomysły a fakt, że jest to open source - coś niesamowitego! Ile z tego wszystkiego poznam nowych rozwiązań.


Co do projektu: Kiedy skończę projekt? Czy wrzucam go na hosting? Co się dzieje potem?


Nie wiem jak to powiedzieć, więc przedstawię wam "piramidę moim priorytetów":



Skończenie projektu wiąże się z nauką i sporą dawką doświadczenia więc jestem pewny, że go skończę.


A tak naprawdę to już wygrałem. Sam fakt, że nauczyłem się korzystać z gitHuba, poznałem jak PHP radzi sobie z plikami i dowiedziałem się jak nieco lepiej korzystać z bazy danych MySQL. Teraz tą nagrodę tylko zwiększam z każdym dniem pracy z tym projektem.

Następny post będzie stricte o całym projekcie, przedstawię tam screeny podstron i opisze ich przyszłe działanie.

czwartek, 2 marca 2017

PicRate - github #2

Jest to post do projektu: PicRate (Kliknij, żeby przejść do postu o projekcie)

Ja i gitHub - musiałem się nauczyć przynajmniej podstaw - Jak wstawić index.html przez gita, żeby się wyświetlało innym na gitHubie. Powiedzmy, że uporałem się z problemem, ciągle nie sprawdziłem wielu funkcjonalności gita, ale potrafię robić najważniejszą rzecz: Wysyłać pliki do repozytorium :D.


Poważnie mówiąc, wysłałem podstawowe pliki, które w tym momencie są w rozsypce, bo testowałem wiele rzeczy, semantyką będę się zajmował pod koniec i różnymi usprawnieniami HTML CSS, nie skupiałem się na tym zbytnio. Paradoksalnie priorytetowo miałem się zająć desingiem najbardziej. Moim skromnym zdaniem UX na portalach społecznościowych jest chyba najważniejszym czynnikiem w tych czasach, jak coś wygląda dobrze i miło się z tego korzysta to będzie bardziej popularne niż okropne ale lepiej funkcionalne. Może się mylę, żadnych badań nie robiłem.


Muszę też popracować nad gitHubem, żeby jakoś to wyglądało.


GitHub: kliknij tutaj


[Na początku był index.php]/^

środa, 1 marca 2017

PicRate - Informacje o projekcie

Wystartowali! W tym poście opisze swój przyszły projekt i jego możliwe funkcje, ale na sam początek: Pierwszy raz robie coś większego niż stronę one-page więc chciałbym przeprosić za wszystkie błędy nawet w "złych katalogach", nie miałem do czynienia ze stronami tego typu i nie wiem jak powinny wyglądać. Cały ten projekt jest lekką wersją mojego oryginalnego projektu, który będzie o wiele większy - a po DajSiePoznac, mojej pracy i może waszej pomocy — lepszy, będę o nim też pisał tutaj po zakończeniu konkursu. Przejdźmy do rzeczy:

Nazwa: PicRate,
W czym: PHP,MySQL,JavaScript,HTML/CSS,
GitHub: https://github.com/gitFoxCode/PicRate

Target to ludzie zajmujący się fotografią profesjonalnie lub amatorsko, lub graficy gdzie każdy
nawet anonimowo będzie mógł ocenić w skali 1-10 wykonane zdjęcie.

Użytkownik wysyła zdjęcie na serwer, dodawany jest znak wodny co zapobiega plagiatom. Jeżeli użytkownik chce udostępnić swoje zdjęcie zaznacza checkbox, że plik może być pobierany za darmo bez znaku wodnego.
Użytkownik zaznacza czy zdjęcie jest oryginalne, czy przerabiane.
Użytkownik posiada statystyki, które dotyczą każdego zdjęcia osobno, jak i sume wszystkich ocen (średnią)

To z grubsza opisuje co chce zrobić. Czeka mnie sporo pracy i nauki, pierwsze zmagania z prawdziwymi problemami będę starał się opisywać na tym blogu.

Rzeczy, których jeszcze nie jestem pewien:
- Użytkownicy nie mają dostępu do swoich profilów nawzajem;

Pomysły, które może zrealizuje:
- Achivementy, które pozwoliłyby na lepszą rywalizację i feeling na stronie. Świetnie by było, gdy dodając zdjęcie w prawym dolnym rogu pojawia się informacja o zdobytym achivemencie "Dodaj pierwsze zdjęcie!".
- System, dzięki któremu pan ktoś (tak będę nazywał użytkownika, który nie korzysta ze strony tak jak powinno się korzystać) zostanie zablokowany na jakiś czas, jeżeli np. 5 razy pod rząd da ocene do zdjęcia 1 lub 10 [itd. itp.]

Pomysły, których raczej nie zrealizuje:
- Rangi, które mogłyby być ustawiane przy rejestracji, dzięki którym system by wiedział kto, na jakim poziomie doświadczenia w fotografii jest, dzięki czemu ocena 10 od profesjonalisty byłaby więcej warta niż 10 od początkującego.
- Filtry do zdjęcia, takie jak na instagramie. PHP zapewnia tę funkcję praktycznie z automatu, ale powiedzmy, że zostawię to na ewentualne "później".

Na pewno powinienem się nauczyć poprawnego korzystania z display: flex i robić większość przy pomocy flexa
Jutro wrzucę informacje o pracach nad projektem i zajmę się porządnie za tego bloga :)

środa, 1 lutego 2017

Przygotowania


Przygotowania #1:

Pierwszy post, w którym mam zamiar poświęcić czas na przygotowania do publikacji postów i zorganizowania swojej pracy.


Na samym początku wybór miejsca do pisania, z jednej strony jest to najprostsza czynność, ale czy można ją uznać za błahostkę? Jest to jeden z dwóch ważnych zadań do wykonania a dla mnie priorytetem, żeby podpasywać wygląd bloga tak, aby przyjemnie to się czytało, w końcu o to tutaj chodzi. Zacznijmy od postaw:


1. Dlaczego Blogger a nie Wordpress?

Personalizacja - to jest jedyny powód, dla którego wybrałem Blogger, w prosty sposób mogę tutaj bezpłatnie dodawać i zmieniać własne arkusze stylów, modyfikować kod HTML a prostota w obsłudze pozwala mi się skupić na rzeczach ważniejszych.


2. Dlaczego Dark Theme?

Postanowiłem, że swój projekt, o którym powiem w następnym poście będzie miał biały design a blog czarny, a dzięki mojemu niezdecydowaniu to jest: Czarny design świetnie wygląda i nie męczy oczu, za to biały ma swój urok, poszedłem na kompromis i tak oto blog czarny, projekt biały.


Podczas pisania bloga postanowiłem skorzystać ze świetnych środków pomocniczych typu LanguageTool , polecam sprawdzić co to jest - i jak się sprawuje tutaj.
_____________________________
Na początku był haos!