{"id":13689098,"url":"https://github.com/Le36/PasteBag","last_synced_at":"2025-05-01T23:32:08.882Z","repository":{"id":74144795,"uuid":"450097090","full_name":"Le36/PasteBag","owner":"Le36","description":"PasteBag is an online text storage site. Made with Python, Flask and PostgreSQL.","archived":false,"fork":false,"pushed_at":"2022-02-20T21:01:52.000Z","size":391,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-03T15:15:19.642Z","etag":null,"topics":["flask","paste","pastebin","pastebin-service","postgresql"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Le36.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}},"created_at":"2022-01-20T12:54:55.000Z","updated_at":"2022-12-01T22:47:14.000Z","dependencies_parsed_at":"2023-03-16T17:45:10.720Z","dependency_job_id":null,"html_url":"https://github.com/Le36/PasteBag","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Le36%2FPasteBag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Le36%2FPasteBag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Le36%2FPasteBag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Le36%2FPasteBag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Le36","download_url":"https://codeload.github.com/Le36/PasteBag/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224282117,"owners_count":17285772,"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":["flask","paste","pastebin","pastebin-service","postgresql"],"created_at":"2024-08-02T15:01:33.630Z","updated_at":"2024-11-12T13:30:46.073Z","avatar_url":"https://github.com/Le36.png","language":"Python","funding_links":[],"categories":["flask"],"sub_categories":[],"readme":"# PasteBag made with Python Flask #\n\nPasteBag is an online text storage site.\n\nLive demo of the project available at:\n\n[https://pastebag.herokuapp.com/](https://pastebag.herokuapp.com/)\n\nThis project is a clone of similar more known products such as Pastebin or GitHub, just made with Python and Flask and\nhaving much lesser features.\n\nMain features include uploading pastes and viewing them. There is also support for user accounts, with custom avatars\nand info box. Users can also delete their own pastes.\n\n# Features #\n\nPastes have their creator, content, unique id, view count, syntax highlighting and created time. There is a list of\npublic pastes shown on main page that is sorted by view count.\n\n### Anonymous user: ###\n\n- [x] create pastes\n- [x] 2 publicity levels for pastes: public and private\n- [x] see public pastes listed on main page\n- [x] private pastes have unique id on them that is shown for the creator, this can be then be shared for anybody\n- [x] access private pastes if it has access to the unique id\n- [x] create \"burn after reading\" pastes, that get destroyed after viewing them\n- [x] send message to admins\n- [x] syntax highlight pastes that contain code\n- [x] download pastes with button\n- [x] copy pastes with button\n\n### Logged user: ###\n\n- [x] create the account\n- [x] possibility to log in\n- [x] view own pastes\n- [x] delete own pastes\n- [x] have profile picture on profile page, editable\n- [x] have profile \"info box\" on profile page, editable\n- [x] same features as anonymous user\n\n### Admin user: ###\n\n- [x] \"admin panel\"\n- [x] list of public and private pastes\n- [x] can delete any paste\n- [x] view forms sent to admins\n- [x] delete forms sent to admins\n- [x] same features as logged and anonymous user\n\n# How to? #\n\nTo run this project you will need Python and PostgreSQL.\n\nStart by cloning this project. Enter root and create file called ```.env``` and paste the following there:\n\n```\nDATABASE_URL=your postgres address\nSECRET_KEY=your secret key\n```\n\nthen do the following commands:\n\n```\npython3 -m venv venv\nsource venv/bin/activate\n```\n\ninstall requirements with:\n\n```pip install -r requirements.txt```\n\nadd correct tables to postgres with:\n\n```psql \u003c schema.sql```\n\nand run with:\n\n```flask run```\n\n### Create admin ###\n\nTo create admin go to the site in browser and create user like you normally would\n\nthen in psql do:\n\n```UPDATE users SET admin = true WHERE username = 'your username';```\n\nthen log off and log in and voilà!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLe36%2FPasteBag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLe36%2FPasteBag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLe36%2FPasteBag/lists"}