{"id":20376233,"url":"https://github.com/mrglaster/flask-retromemes-app","last_synced_at":"2026-02-26T03:39:39.326Z","repository":{"id":63775279,"uuid":"565684506","full_name":"mrglaster/flask-retromemes-app","owner":"mrglaster","description":"Retromemes.net - small flask based website to view/upload memes and something else","archived":false,"fork":false,"pushed_at":"2022-12-08T15:04:08.000Z","size":10614,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"linux-edition","last_synced_at":"2023-04-30T07:11:10.382Z","etag":null,"topics":["css","flask","flask-application","html","javascript","js","memes","python","python3","sqlite","sqlite3","sqlite3-database","study-project","web-application","website","werkzeug"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrglaster.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-11-14T05:12:08.000Z","updated_at":"2022-12-15T01:07:39.000Z","dependencies_parsed_at":"2023-01-25T14:16:00.619Z","dependency_job_id":null,"html_url":"https://github.com/mrglaster/flask-retromemes-app","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrglaster%2Fflask-retromemes-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrglaster%2Fflask-retromemes-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrglaster%2Fflask-retromemes-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrglaster%2Fflask-retromemes-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrglaster","download_url":"https://codeload.github.com/mrglaster/flask-retromemes-app/tar.gz/refs/heads/linux-edition","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224717851,"owners_count":17357914,"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":["css","flask","flask-application","html","javascript","js","memes","python","python3","sqlite","sqlite3","sqlite3-database","study-project","web-application","website","werkzeug"],"created_at":"2024-11-15T01:36:23.455Z","updated_at":"2026-02-26T03:39:39.278Z","avatar_url":"https://github.com/mrglaster.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Retromemes.net - small flask based website \n\nthis site was created as a study assignment for Irkutsk State University (ISU). On assignment, we had to create a website with memes. It should support uploading new memes, viewing those already uploaded as a feed, authorizing and registering new users, and also allow users to rate posts with \"like\" or \"dislike\" \n\n```THIS VERSION IS LINUX ONLY```\n\nIf you need version for windows check the [windows-edition](https://github.com/mrglaster/flask-retromemes-app/tree/windows-edition)\n\n## How to setup this application with nginx and run?\n\n1) Install ```Python 3.x```\n2) Download the project\n3) type in terminal/console  ```pip install -r requirements.txt``` \n\nor \n\n```\npip install Flask==1.1.4\npip install Werkzeug==1.0.1\npip install bcrypt\n```\n\n4) Download gunicorn ```pip install gunicorn```\n5) Create ```wsgi.py```, import the application there and paste the fragment with the application launch (ore use one from preository)\n6) Execute command ```sudo nano /etc/systemd/system/flask-retromemes-app.socket``` and wrtie \n\n```\n[unit]\nDescription=flask-retromemes-app socket\n\n[Socket]\nListenStream=/run/flask-retromemes-app.sock * WORKING DIRECTORY*\n\n[Install]\nWantedBy=sockets.target\n```\n4. After, execute command ```systemctl start flask-retromemes-app.socket```\n5. After: ```systemctl enable flask-retromemes-app.socket```\nA .sock file will appear.\n6. Execute ```nano /etc/systemd/system/flask-retromemes-app.service``` and write:\n```\n[unit]\nDescription=flask-retromemes-app.service \nRequirements=flask-retromemes-app.socket\nAfter=network.target\n\n[Service]\nuser=user\ngroup=user\nWorkingDirectory=/home/user/flaskapp\nExecStart=/usr/bin/gunicorn --workers 3 \\\n--bind unix:*PATH_TO_SOCK* wsgi:app\n\n[Install]\nWantedBy=multi-user.target\n```\n\n7) In nginx, create a new site based on the default one, remove ```try files...``` in ```location``` / and insert ```proxy_pass http://unix:*PATH_TO_SOCK*``` into this block\n\n8) service flask-retromemes-app start\n\n9) Profit!\n\n## Database structure \n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/readme_images/db_info.jpg)\n\n\n## Pages of the site\n\n### Authorizarion and Registration \n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/readme_images/login.png)\n\n\n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/readme_images/register.png)\n\n\n### Memes upload page\n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/readme_images/upload_meme.png)\n\n### Feed\n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/readme_images/feed.png)\n\n### And if there are too many memes\n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/readme_images/too_many_memes.png)\n\n### User's page\n\nUser's page is the page for account's owner. There the user can look at memes uploaded by his/her hands or do some activities, if the user is an administrator\n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/readme_images/users_page.png)\n\n### About roles\n\nUser roles can be divided into 3 groups. The first and most numerous are ordinary users. They can upload memes and delete uploaded by them ones. The second group is moderators, they can remove any memes from the site. And the third and last group, administrators. They have the same powers to delete posts as moderators, and they can also promote / demote other users, including moderators.\n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/readme_images/default_user.png)\n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/readme_images/just_moder.png)\n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/readme_images/admin.png)\n\n\n## Custom pages for errors (500, 404, etc)\n\n### Error 500\n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/static/images/error_images/500-image.png)\n\n### Error 404 \n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/static/images/error_images/404-image.png)\n\n### Error 400 \n\n![alt text](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/static/images/error_images/400-image.png)\n\n### Error 403\n\n![alt image](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/static/images/error_images/notadmin-image.png)\n\n![alt image](https://github.com/mrglaster/flask-retromemes-app/blob/linux-edition/static/images/error_images/403-image.png)\n\n\n### Developed by\n\n1) [Vadim Nechaev](https://github.com/nech14)\n2) [Vladislav Novikov](https://github.com/vladnov138)\n3) [Egor Pristavka](https://github.com/mrglaster/)\n\n### Links\n\n1) https://flask.palletsprojects.com/en/2.2.x/\n2) https://vk.com/whenangelsrise (https://vk.com/whenangelsrise?z=photo-162910245_456239052%2Fwall-162910245_34)\n3) https://images7.memedroid.com/images/UPLOADED903/6056582719c9c.jpeg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrglaster%2Fflask-retromemes-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrglaster%2Fflask-retromemes-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrglaster%2Fflask-retromemes-app/lists"}