{"id":14974415,"url":"https://github.com/arturnawrot/chickenpoll","last_synced_at":"2025-10-27T09:30:40.681Z","repository":{"id":55244454,"uuid":"204513815","full_name":"arturnawrot/chickenpoll","owner":"arturnawrot","description":"Web application for creating real time straw polls. Stack: Laravel 5.7, MySQL, Bootstrap 4, Vue.js, socket.io, redis","archived":false,"fork":false,"pushed_at":"2023-08-11T14:13:34.000Z","size":52342,"stargazers_count":4,"open_issues_count":11,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T04:31:40.768Z","etag":null,"topics":["bootstrap4","laravel5","mysql","php","redis","scss","socket-io","straw-polls","vuejs2"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arturnawrot.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-26T16:13:34.000Z","updated_at":"2023-01-25T21:23:28.000Z","dependencies_parsed_at":"2024-10-11T10:41:51.214Z","dependency_job_id":"d6f834bc-f67f-4c59-8807-92cc523beccc","html_url":"https://github.com/arturnawrot/chickenpoll","commit_stats":{"total_commits":158,"total_committers":7,"mean_commits":"22.571428571428573","dds":0.1708860759493671,"last_synced_commit":"3f20a0a0d68289d77f11abe464517abbc65c6266"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturnawrot%2Fchickenpoll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturnawrot%2Fchickenpoll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturnawrot%2Fchickenpoll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arturnawrot%2Fchickenpoll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arturnawrot","download_url":"https://codeload.github.com/arturnawrot/chickenpoll/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238471958,"owners_count":19478135,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bootstrap4","laravel5","mysql","php","redis","scss","socket-io","straw-polls","vuejs2"],"created_at":"2024-09-24T13:50:31.659Z","updated_at":"2025-10-27T09:30:30.950Z","avatar_url":"https://github.com/arturnawrot.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Attention!\nThis project is a great example how to NOT write web applications due to shamless mixing business logic with the domain layer. It needs major code refactoring. I started this project when I was still learning how to program. I will rewrite this project in the future if I have more free time.\n\nIf you are a recruiter I encourage you to take a look at my other projects such as: rocketcontent, web-scraper, plagiarism-checker.\n\n## Screenshots\n\n![Example straw poll](https://raw.githubusercontent.com/Arturek1/cdn/master/sc2.PNG)\n\n![Main page](https://raw.githubusercontent.com/Arturek1/cdn/master/sc1.PNG)\n\n\n## Installation\n\n    sudo rm composer.lock\n    composer install\n    sudo chown -R www-data:www-data /path/to/your/laravel/root/directory\n    sudo chown -R www-data.www-data /var/www/travel_list/storage\n    sudo chown -R www-data.www-data /var/www/travel_list/bootstrap/cache\n    sudo chgrp -R www-data storage bootstrap/cache\n    sudo chmod -R ug+rwx storage bootstrap/cache\n    npm run prod\n    sudo apt-get redis \u0026\u0026 sudo apt-get redis-server\n    npm install --save socket.io-client\n    laravel-echo-server init\n    laravel-echo-server install\n    php artisan queue:listen --tries=1\n    crontab -e * * * * * * cd /var/www/polls \u0026\u0026 php artisan schedule:run \u003e\u003e /dev/null 2\u003e\u00261\n    php artisan migrate --seed\n    php artisan wink:install\n    Create two wink posts with the following slugs: privacy-policy, terms-of-use, contact\n\nIf something goes wrong try: php artisan optimize\n\nIf you get ``proc_open(): fork failed - Cannot allocate memory`` during composer installation execute: \n\n    sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 \u0026\u0026 sudo /sbin/mkswap /var/swap.1 \u0026\u0026 sudo /sbin/swapon /var/swap.1\n\n## Nginx configuration\n\nHTTP\n\n\n    server {\n\t\tlisten 80;\n\t    server_name server_domain_or_IP;\n\t    root /var/www/travel_list/public;\n\t    add_header X-Frame-Options \"SAMEORIGIN\";\n\t    add_header X-XSS-Protection \"1; mode=block\";\n\t    add_header X-Content-Type-Options \"nosniff\";\n\t    index index.html index.htm index.php;\n\n    charset utf-8;\n\n    location / {\n        try_files $uri $uri/ /index.php?$query_string;\n    }\n    \n    location /socket.io {\n            proxy_pass http://localhost:6001; #could be localhost if Echo and NginX are on the same box\n            proxy_http_version 1.1;\n            proxy_set_header Upgrade $http_upgrade;\n            proxy_set_header Connection \"Upgrade\";\n        }\n\n    location = /favicon.ico { access_log off; log_not_found off; }\n    location = /robots.txt  { access_log off; log_not_found off; }\n\n    error_page 404 /index.php;\n\n    location ~ \\.php$ {\n        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;\n        fastcgi_index index.php;\n        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    location ~ /\\.(?!well-known).* {\n        deny all;\n    }\n    }\n\n\n\nHTTPS certificate\n\n    server {\n    \n       listen 443 ssl;\n       ssl_certificate /etc/letsencrypt/live/chickenpoll.com/fullchain.pem;\n    \n       ssl_certificate_key /etc/letsencrypt/live/chickenpoll.com/privkey.pem; #\n       include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot\n       ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot\n       server_name www.chickenpoll.com;\n       return 301 https://chickenpoll.com$request_uri;\n    }\n    server {\n    \n       server_name chickenpoll.com;\n       root /var/www/polls/public;\n    \n       add_header X-Frame-Options \"SAMEORIGIN\";\n       add_header X-XSS-Protection \"1; mode=block\";\n       add_header X-Content-Type-Options \"nosniff\";\n    \n       index index.html index.htm index.php;\n    \n       charset utf-8;\n    \n       location / {\n    \n          try_files $uri $uri/ /index.php?$query_string;\n       }\n       location /socket.io {\n    \n          proxy_pass http://localhost:6001; #could be localhost if Echo and NginX are on the same box\n          proxy_http_version 1.1;\n          proxy_set_header Upgrade $http_upgrade;\n          proxy_set_header Connection \"Upgrade\";\n       }\n       location = /favicon.ico {\n    \n          access_log off; log_not_found off;\n       }\n       location = /robots.txt {\n    \n          access_log off; log_not_found off;\n       }\n    \n       error_page 404 /index.php;\n    \n       location ~ \\.php$ {\n    \n          fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;\n          fastcgi_index index.php;\n          fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;\n          include fastcgi_params;\n       }\n    \n       location ~ /\\.(?!well-known).* {\n    \n          deny all;\n       }\n    \n       listen 443 ssl; # managed by Certbot\n       ssl_certificate /etc/letsencrypt/live/chickenpoll.com/fullchain.pem; # managed by Certbot\n       ssl_certificate_key /etc/letsencrypt/live/chickenpoll.com/privkey.pem; # managed by Certbot\n       include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot\n       ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot\n    \n    \n    }\n    server {\n    \n       if ($host = www.chickenpoll.com) {\n    \n          return 301 https://$host$request_uri;\n          } # managed by Certbot\n    \n    \n          if ($host = chickenpoll.com) {\n    \n             return 301 https://$host$request_uri;\n             } # managed by Certbot\n    \n    \n             listen 80;\n             server_name www.chickenpoll.com chickenpoll.com;\n             return 404; # managed by Certbot\n          }\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farturnawrot%2Fchickenpoll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farturnawrot%2Fchickenpoll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farturnawrot%2Fchickenpoll/lists"}