All Projects → tejoesperanto → pasportaservo

tejoesperanto / pasportaservo

Licence: AGPL-3.0 License
La fontkodo de Pasporta Servo

Programming Languages

python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
SCSS
7915 projects
CSS
56736 projects
TeX
3793 projects

Projects that are alternatives of or similar to pasportaservo

django-lock-tokens
A Django application that provides a locking mechanism to prevent concurrency editing.
Stars: ✭ 19 (-65.45%)
Mutual labels:  django-application
NearBeach
NearBeach is an open sourced project management tool, helping you keep track of your project. You can track requirements, projects and tasks
Stars: ✭ 97 (+76.36%)
Mutual labels:  django-application
Learning-Path-Learn-Web-Development-with-Python
Get started with Python programming and Django web development
Stars: ✭ 23 (-58.18%)
Mutual labels:  django-application
django-renderpdf
📄 A Django app to render django templates as PDF files.
Stars: ✭ 37 (-32.73%)
Mutual labels:  django-application
vortaro
Simple Esperanto-English dictionary inspired by Tuja Vortaro
Stars: ✭ 17 (-69.09%)
Mutual labels:  esperanto
tuja-vortaro
Tuja, simpla, libra poŝvortaro.
Stars: ✭ 21 (-61.82%)
Mutual labels:  esperanto
acme2certifier
library implementing ACME server functionality
Stars: ✭ 62 (+12.73%)
Mutual labels:  django-application
sous-chef
Sous-Chef is a web application to help organizations to plan and deliver meals, and to manage clients files.
Stars: ✭ 64 (+16.36%)
Mutual labels:  django-application
sorl-thumbnail-async
Asynchronous thumbnailing app in django with remote storages like S3
Stars: ✭ 21 (-61.82%)
Mutual labels:  django-application
Djano-Anti-Crawler
A light weight anti crawler app for Django.
Stars: ✭ 15 (-72.73%)
Mutual labels:  django-application
django-extra-field-validation
Extends the Django model with required, conditional, and optional field validation.
Stars: ✭ 18 (-67.27%)
Mutual labels:  django-application
PyQuotes
PyQuotes is a Django-based web application and REST API. That will allow you to launch an online quotes service.
Stars: ✭ 23 (-58.18%)
Mutual labels:  django-application
django-qa
A simple Q&A App
Stars: ✭ 97 (+76.36%)
Mutual labels:  django-application
Telegramo.org
Ĉi tiu deponejo enhavas la fontokodon de la retejo Telegramo.org. / This repository contains the source code of the website Telegramo.org.
Stars: ✭ 25 (-54.55%)
Mutual labels:  esperanto
MediumScraper
Scraping articles of medium and providing audio versions 📑 to 🔊 using django
Stars: ✭ 12 (-78.18%)
Mutual labels:  django-application
python-web-dev-21-2
Material for "Web Development in Python with Django" using Django 2.1, published as a Pearson LiveLesson on Safari Books Online
Stars: ✭ 38 (-30.91%)
Mutual labels:  django-application
django-rest-email-auth
Django app to handle authentication and registration by email.
Stars: ✭ 13 (-76.36%)
Mutual labels:  django-application
django-djmongo
A Drop-in Django Application for MongoDB
Stars: ✭ 23 (-58.18%)
Mutual labels:  django-application
django ecommerce
Scalable Django E-Commerce, perfect to start one new online shop project.
Stars: ✭ 25 (-54.55%)
Mutual labels:  django-application
django-pyas2
AS2 file transfer Server built on Python and Django.
Stars: ✭ 47 (-14.55%)
Mutual labels:  django-application

Pasporta Servo 3

TEJO Esperanto Python 3.7 Django 2.2 HTTP HTTPS GNU AGPLv3 Kontaktu nin en Telegramo https://t.me/joinchat/Bg10skEz3jFXpBk-nZAuiw

CI build Codecov

Pasporta Servo estas senpaga tutmonda gastiga servo.

La projekto komenciĝis en 1974 kiel eta jarlibro, kaj ekde 2009 daŭras ankaŭ kiel retejo (unue surbaze de Drupalo kaj nuntempe sur Dĵango). En tiu ĉi deponejo kolektiĝas la kodo kiu ruligas la retejon pasportaservo.org.

Kontribui

Ĉu vi trovis cimon? Nepre kreu novan atentindaĵon.

Ĉu vi havas ideon kiel plibonigi la retejon? Kontrolu ĉe Diskutoj ĉu iu jam eble proponis ion similan – se jes, voĉdonu por tiu ideo; se ne, komencu novan fadenon.

Instali

Ubuntu 16.10 / Debian Stretch:

sudo apt install git python3-dev python3-pip python3-venv libjpeg-dev zlib1g-dev \
  postgresql-contrib postgresql-server-dev-all postgresql-10-postgis libgdal-dev gcc-c++ gdal

Fedora 27:

sudo dnf install git python3-devel python3-crypto redhat-rpm-config zlib-devel libjpeg-devel libzip-devel \
  postgresql-server postgresql-contrib postgresql-devel gcc-c++ gdal

PostgreSQL

Se vi estas sub Fedora:

sudo postgresql-setup --initdb --unit postgresql
sudo systemctl enable postgresql
sudo systemctl start postgresql

Por ĉiuj:

sudo -u postgres createuser --interactive  # Enigu vian uzantnomon kaj poste 'y'
createdb via-uzantnomo
createdb pasportaservo

Fontkodo

Iru al la projektpaĝo ĉe GitHub kaj forku la deponejon. Poste, vi povas kloni ĝin:

git clone https://github.com/{via-uzantnomo}/pasportaservo.git

Instalu ĉiujn necesajn pakaĵojn kaj pretigu la datumbazon (ne forgesu tion fari ene de virtuala medio):

cd pasportaservo
pip install wheel
pip install -r requirements/dev.txt
echo 'from .dev import *' > pasportaservo/settings/__init__.py
./manage.py migrate
./manage.py createsuperuser  # Nur la uzantnomo kaj pasvorto estas deviga

Fine, kurigu la lokan WSGI-servilon:

./manage.py runserver

Ĉu bone? Vidu http://localhost:8000.

Retmesaĝoj

Dum disvolvigo, estas praktika uzi MailDump por provadi sendi retmesaĝojn. Ekster la env virtuala medio, kun Pitono:

pip install --user maildump
maildump

La mesaĝoj estos kolektataj en ĉion-kaptan poŝtkeston videblan ĉe http://localhost:1080.


Problem-solvado

PostgreSQL: unrecognized option --interactive

Se la komando sudo -u postgres createuser --interactive malsukcesas (ekz., vi ricevas eraron "unrecognized option --interactive"), provu:

$ sudo -u postgres psql
psql (9.6.6)
Type "help" for help.
postgres=# CREATE ROLE {via-uzantonomo} WITH LOGIN CREATEDB CREATEROLE;
postgres=# \q

PostgreSQL: Ĉu mi bone kreis la datumbazojn?

$ sudo -u postgres psql
psql (9.5.4)
Type "help" for help.
postgres=# \l
                                    List of databases
     Name      |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
---------------+----------+----------+-------------+-------------+-----------------------
 pasportaservo | {uzanto} | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0     | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres
 template1     | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres

postgres=# \q

Se vi vidas tabelon kiel ĉi-supre, ĉio glate paŝis.

Lokaĵaro: Could not set locale eo.UTF-8: make sure that it is enabled on the system

Tia eraro indikas ke la Esperanta lokaĵaro ne estas aktivigita. Uzu la jenajn komandojn:

sudo locale-gen eo.UTF-8
sudo update-locale
locale -a

Se vi vidas eo.utf8 en la listo, la ĝusta lokaĵaro estas nun aktiva.

Kunlabori

Komprenu la strukturon de la kodo

  • pasportaservo/: ĝenerala dosierujo kun konfiguro, baz-nivelaj URL-oj, bibliotekoj, ktp
  • core/: bazaj ŝablonoj kaj ĉio rilata al aŭtentigo kaj (rolbazita) rajtigado
  • hosting/: la ĉefa programo por gastiga servo

Kaj ene de la diversaj Dĵango-aplikaĵoj (ekz. hosting, pages, links…):

  • models.py: strukturo de la datumoj, kaj bazaj operacioj por ĉiu modelo
  • forms.py: formularoj por enigi kaj modifi datumojn
  • urls.py: ligoj inter URL-oj kaj paĝo-vidoj
  • views.py: difino de vidoj, paĝoj por prezentado
  • templates/: pseŭdo-HTML dosieroj (ŝablonoj)
  • templatetags/: ebligas pli kompleksajn operaciojn en la ŝablonoj

Disvolvigu

Laboru en branĉoj:

Efektivigu viajn ŝanĝojn en tiucelaj, laŭtemaj branĉoj:

git checkout master
git checkout -b {nomo-de-nova-branĉo}

Ĉefa risurco por lerni git (la versiadministra sistemo): https://git-scm.com/docs/git.

Utiligu helpilojn por kod-kvalito:

  • isort aŭtomate ordigas ĉiujn importojn en la Pitonaj dosieroj, por ke vi ne devu pensi pri tio (isort -rc .)
  • flake8 certigas ke la kodo estas bonkvalite strukturita kaj ne ĉeestas “mortaj” sekcioj (python -m flake8)

Verku testojn:

Testoj estas gravaj por certigi ke partoj de la retejo funkcias tiele kiel oni planis, kaj kapti cimojn antaŭ ol ili trafos uzantojn. Testoj ankaŭ helpas certiĝi ke novenkondukitaj ŝanĝoj ne rompas ekzistantajn funkciojn. La testoj kolektiĝas sub tests/. Risurcoj:

Testu sur realaj aparatoj:

Laŭdefaŭlte, la disvolviga WSGI-servilo estas kurigita izolite sur via maŝino kaj atingeblas nur per la loka inverscikla adreso 127.0.0.1 (aŭ ĝia sinonimo http://localhost). Tiam vi povas uzi la retumilojn haveblajn sur via maŝino por testadi la retejon. Tamen, Dĵango efektive subtenas kurigon sur ajna reta interfaco; uzante la komandon

python ./manage.py runserver {IP-adreso-en-loka-reto}:8000

vi povas videbligi la retejon ene de via loka reto (LAN / Wifi) kaj aliri ĝin per ajna aparato konektita al la sama reto. Tiamaniere vi povas testi la ĝustan funkciadon de la retejo sur pli diversaj aparatoj (ekz., ankaŭ per poŝtelefonoj). Tion ebligas agordo settings/dev.py/ALLOWED_HOSTS – dum lanĉo, la servilo provas eltrovi la lokaretan IP-adreson de la maŝino kaj permesi ties uzon.

Lernu Dĵangon

Licenco

GNU AGPLv3

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].