# Zaczynamy Projekt
1. Co potrzebujemy?
Postawic Szkielet Strony - Kto by nam to zrobil?
2. Wszyscy przerabiamy Django. (Mam PDF i mam kursow wiec moge dac za Free kazdemu)
3. Po przerobieniu kursow, Django Best Practicies.
4. Ja moge Kupic freelancera ktory sprawdzi nasz kod jak cos.
5. Napewno ktos dostanie Taska zeby Flaska(duzo starych firm nie pozwala nic innego instalowac)/FastAPI(Jest nowoczesne) trzasnal raz
Docker file, czym jest docker ( Tutoriale ogarnac)
Jak moge rozpisac, co jest dostepne i jakie taski beda potrzebne w projekcie?
1. Homepage (Glowna strona, ) +
2. Resources +
3. Snipets (Gotowce, ) +
4. Projects +
5. Contact + Seba
6. Code sharing enviroment +
widoki i je obsluzyc.
Co dana strona ma robic
moge zrobic na niej to i to.
1. tworzysz folder
2. otwierasz ten folder w terminalu
3. wpisujesz komende python -m venv env, (na windowsie u mnie musiałem wpisać "py -m venv env"/pm
5. source env/bin/activate //unix//, env\Scripts\activate.bat //win//
6. pip3 install django
7. django-admin startproject NAZWA_PROJEKTU . <- kropka zalecana
8
# Django
Django Best Practices
Feb 13, 2018
So you’ve decided to learn how to build websites with Python and Django. Good choice.
This is a list of Django best practices I actively maintain. If you disagree with something, leave a comment below.
The Basics
Use Pipenv to manage virtual environments
Always use a custom user model
Use a generic class based view (GCBV) if possible, otherwise prefer class based views to function based views
Use environment variables for everything “secret” like SECRET_KET
Use multiple settings files so DEBUG never runs in production
Use Postgres locally with Docker.
Have unit and integration tests. Everywhere. The more the better.
Security
Use Pony Checkup for a one-step security check of your site
Always use the latest version of Django
Deploy with SSL/HTTPS
Change your admin url to anything but /admin/
3rd Party Packages
django-debug-toolbar - invaluable source of debug messages and SQL queries on each page
django-extensions - tons of goodies especially runserver_plus
django-allauth provides social auth and user email confirmation
Whitenoise for serving static files (can also use S3)
Sentry for logging errors
General
There is no agreed-upon structure for Django projects although cookiecutter-django is the most popular
It’s increasingly common to use Django solely for building APIs via Django Rest Framework.
# INSPIRACJA
Menu co ma zawierac?:
1. Homepage (Glowna strona, ) +
2. Resources +
3. Snipets (Gotowce, ) +
4. Projects +
5. Contact +
6. Code sharing enviroment +
Funckje od siebie nie zalezne, zeby nie bylo blokady workflow, zeby kazdy mogl pracowac nad czyms innym.
Architectura microserwisow, - Funkcjonalonsc
# Reuzywalne (
### LINK
???
Prosze posuzkajcie Linkow Reuzywalnych Django.
1. Dawajcie Linka
2. Tu drugiego
3. tu Trzeciego ?
4. niech ktos poszuka
Szkielet APlikacji - KTo ZROBI??? -
Ustalic Technologie,
Html wyrenderowany.
I mozna zaczac sie dzielic.
1 osoba na SNipettyy ( czym one sa? )
2. osoba za zak
1. Aplikacja w 1 repozytorium, odrebne struktury aplikacji, rozne beda edytowaly.
Inna osoba Widoki.
Wczesniej zrobi model
Templaty
Resources:
Gui

pip
zalozenie:
1. Jakie chcemy funkcje by strona spelniala w pierwszej wersji
2. Jakie mamy pomysly dotyczace dalszego jej rozwoju?
3. Jaka technologie uzywamy?
a) Django?
b) flask/fast API/ PURE PY3
c) bootstrap czy framework frontendowy (angular, react, vue)
4. Jak hostujemy strone? (pythonanywhere, heroku, AWS, mikr.us, myDevil )
5. W jaki sposob robimy code review?
6. Jakie repozytorium wykorzystujemy? (github, gitlab)
7. Jak rozpisujemy taski? gitlab/Jira (podobno do 10 uzytkownikow)/Trello ( )
8. Strona na której lądują wyniki naszych prac i one tam sobie spokojnie rankują na SEO, w między czasie robimy burzę na social mediach (każdy z nas).
9. Marketing najlepszy bedzie "Szeptany" + materialy w stylu artykuly, filmy, CS wychodzace od czlonkow
10.
# Kierunki rozwoju
1. Data Science
2. Data Engineering
3. ML/AI
4. Computer Vision
5. Web Apps
6. Web Crawlers
7. Web Development
8. Web Frameworks
9. GUI based desktop apps
10.
11.
# Czego byśmy chcieli sie nauczyć z czegoś takiego
1. Obiektowki w pelnym tego slowa znaczenia OOPS
2. testy jednostkowe i funkcjonalnych
3. jak pisac kod, zeby nie wymyslac kola na nowo?
4. Ci/Cd
5. Proces tworzenia strony/serwisu od pomysłu do realizacji (od kuchni).
6. Dla mnie w takim projekcie mega opcja byloby przedstawienie roznych integracji z systemami zewnetrznymi (ala' pliki plaskie jakies interfejsy restowe synchroniczne i kolejkowe asynchroniczne).
7. Rozpraszanie obslugi zadań.
8. Wykorzystanie roznych protokolow wymiany danych grpc json xml. (Z mojego doswiadczenia wynika ze z tym w corpo projektach jest najwiecej uganiania sie. Ale to moze gdzies w pozniejszym etapie zrobic taka pisakownice do integrowania sie.)
# CEL
1. Nabijanie doswiadczenia
2. Nabijanie CV
3. Budowanie spolecznosci
4. nawiazywanie relacji oraz praca w grupie/z projektem

# Digital Marketing, SEO?
1. na kanale mamy ekperta od SEO?
# Co fajnie bylo by zdobyc uczestniczac w projekcie
1. wolisz expa w CV z WP czy Pythona?
2. Czy interesuje Cie web development?(wiazesz z tym kariere)
3. zawsze mozna stworzyc 2 zespoly z czego czesc bedzie ropacowala na WP dzieki temu super poczatkujacy w
#WERSJE
# HTML? 0.1.0 - Start? 17-08-2020
1. HOME PAGE as html.
* Header (na kazdej stronie ładowany z backendu)
* img z logo
* nav > Home, Project, Articles, Learning Resources, Discord(redirect)
* body
* about us
* newest project / articles
* footer (na kazdej stronie ładowany z backendu)
* nav > Home, Project, Learning Resources, Discord(redirect)
* copyrights etc.
2. Projects PAGE as html.
* Header
* body
* intro
* grid z projektami 
* footer
3. Articles PAGE as html.
* Header
* body
* intro
* grid z artykułami 
* footer
4. ETC. Tak samo...
# 0.1.1?
# 1.0.0?
Chodzi o to, ze kazdy na kanale ma ochote dolozyc jakas cegielke.
w zwiazku z tym, jesli cos jest "proste" to sens robic to 2x lub 8x
a potem 7 osob zrobi logowanie to zrobimy to w grupach, potem mozna zrobic review code.
# SOCIAL MEDIA
1. Discord
2. GitHub
3. Reddit
4. Youtube
5. patreon
6. Sklep z koszulkami?
# Jakie robimy ANkiety?

# Pomysły
1. Challange zeby zrobic taki sam markdown edytor jak hackMD na naszej stronie.
2. Jak zadowolić ludzi których nie było na discordzie tydzień i mają 1000 wiadomości do przeczytania ( odp: database + Cleanse (talk with @CUBE))
3. Wdrożyć tagi do definiowania tematu wypowiedzi w celu łatewe filtrowania treści (vraith)
4. Q&A bez posredni oan strone, zeby tworzyc knowledge base (little_snake)
5. Ranking w jakis sposob nagradzac uzytkownikow ( Piwo za pomoc?)
6. Grywalizacja 
a) za 5 wypowiedzi (ktore dostaly Piwo) dostaje "Zolta kropke nad nickiem" i moze uzywac inny kolor czcionki
b) wylonic ludzi ktorzy sie na tym znaja, moze beda mentorami, w zamian dostanie achievement (ktory w realnym zyciu pomoglbym im w CV/doswiadczeniu)
7. dzielenie sie w grupy
8. Za chievementy dostep do ukrytych/otwartych projektow
9. ktore mozna zdobyc za pomoca punktow lojalnosciowymi lub kupic dostep
10. Pasywny dochod Gral.
11. Słowik IT-polski, gdzie osoby mniej doświadczone mogą znaleźć tłumaczenie zwrotów z środowiska IT, zarówno profesjonalnego nazewnictwa ale i żargonu.
# Przykład
a) Cube zna Django od A do A
b) Xarabek zna Django od A do C
c) Seba zna Django od A do T
d) Vraith zna DJango od A do Z
e) Vraith Uczy Sebe, Seba uczy Xarabka, Xarabek uczy Cube, Cube robi jakis content
# 2 do zrobienia
Zrobic stopien trudnosci taskow
Kto bedzie organizowal i kontrolowal trello
kto bedzie mergowal gitlaba (maintainers/developers?)
# Jak dolaczyc do projektu?
1. Gitlab login
2. email do trello
3.
# wziecie Open taska
1. Kanbana raczej
2. ciezko bedzie sie dodawac do taskow?
3. bedziemy dodawac taski w jakims tam okresie.
4. jak przypisujemy taski do ludzi?
# Etykiety na Trello
1. Jakie wybeiramy? Nazwy, Kolory
2. czy da rade zblokowac task innym taskiem?
3. 
# z TRELLO nie wiedzialem gdzie wrzucic potem sie uporzadkuje xD
Pytania odnośnie współpracy przy realizacji projektów na NATLUK:
Uwaga: Pytania kieruje osoba wdrażająca się w świat programowania stąd punkt widzenia może być dość osobliwy dla tych z doświadczeniem. Być może warto by wiedzę na poniższe pytania wrzucić do jakiegoś działa dla „newbie” lub czegoś na zasadzie „Akademii Natluk” gdzie były bo wszystko krok po kroku pokazane co należy przyswoić.
Nie chodzi o linkowanie do dokumentacji i całej wiedzy w danym zakresie a o wskazanie tych najważniejszych informacji które każdy musi posiąść aby móc się szybko wdrożyć a także by nie zepsuć zabawy/pracy innych uczestników. Jeżeli założenie jest by pomagać innym nowo-przybyłym to te pytania z pewnością będą się powtarzały.
1. Dlaczego używamy Trello? W jaki sposób należy używać Trello przy współpracy z resztą uczestników nad realizacją wspólnych projektów? Jakie są przyjęte zasady których należy się trzymać bezwzględnie? Czy są jakieś rangi dostępu? Jeżeli tak to czego należy się spodziewać po tym iż ma się daną rangę? Czy istnieje cheat sheet dla tych którzy jeszcze nigdy tego w życiu nie używali?
2. Gitlab (patrz pytania w pkt. 1)
3. HackMD (patrz pytania w pkt. 1)
4. W jaki sposób mogę zainicjować chęć uczestnictwa w projekcie? Gdzie umieścić informacje na ten temat?
5. Jak mogę rozpocząć współpracę nad projektem? Jakie są zasady związane z uploadem swojego kodu do korzenia (podstawy Git-a)?
# Czemu uzywamy Gitlaba?
bo jest dobry, szybki i Vraith tak powiedział.