{"id":22962749,"url":"https://github.com/benie254/thyvoice","last_synced_at":"2026-04-12T13:54:49.964Z","repository":{"id":106410191,"uuid":"491918553","full_name":"benie254/ThyVoice","owner":"benie254","description":"This repo creates a blogging app for content creators and reading enthusiasts, utilizing a database for data storage, retrieval, and manipulation.","archived":false,"fork":false,"pushed_at":"2022-05-21T08:59:16.000Z","size":692,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T03:33:14.793Z","etag":null,"topics":["api","database","flask","heroku","psql","sqlalchemy"],"latest_commit_sha":null,"homepage":"https://thyvoice.herokuapp.com/","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/benie254.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":"2022-05-13T13:58:34.000Z","updated_at":"2022-05-28T19:53:53.000Z","dependencies_parsed_at":"2024-01-09T05:30:26.139Z","dependency_job_id":null,"html_url":"https://github.com/benie254/ThyVoice","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/benie254/ThyVoice","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benie254%2FThyVoice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benie254%2FThyVoice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benie254%2FThyVoice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benie254%2FThyVoice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benie254","download_url":"https://codeload.github.com/benie254/ThyVoice/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benie254%2FThyVoice/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018307,"owners_count":26086342,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["api","database","flask","heroku","psql","sqlalchemy"],"created_at":"2024-12-14T19:18:11.065Z","updated_at":"2025-10-14T08:34:27.970Z","avatar_url":"https://github.com/benie254.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ThyVoice\n\nA CRUD (Create,Read,Update,Delete) blog app, generated with [Python](https://www.python.org/) version 3.8.13 \u0026\u0026 [Flask](https://flask.palletsprojects.com/en/2.1.x/) version 1.1.4 \n\n# ThyVoice\n#### This repo creates a blogging app for content creators and reading enthusiasts, utilizing a database for data storage, retrieval, and manipulation.\n## Author\n[Benson Langat](https://github.com/benie254)\n\n## Description\n\nThyVoice is a blogging app for people who love to write and those who enjoy reading. The app is built on a database, which stores user data \u0026 information, retrieves data for user requests, such as accessing blogs and comments \u0026\u0026 finally, our database enables user data manipulation, in cases such as deleting comments, or updating user posts and/or profile. Users have the initial option to view all blogs. To create a pitch, bloggers must log in or sign up. Once logged in, bloggers can share blog posts, comment on posted blogs, or update their profiles and/or posts. Bloggers can also delete comments they find insulting. \n      \n    ThyVoice consumes a quotes api.\n\n## Screenshot\n\n\u003cimg src=\"https://user-images.githubusercontent.com/99865051/169643412-c090927a-c0a4-4e99-b95d-1318113752c7.png\" \u003e\n\n## Screenshot #2\n\n\u003cimg src=\"https://user-images.githubusercontent.com/99865051/169643485-95d7823e-9918-46d5-98bb-ae47b7453869.png\"\u003e\n\n## Behavior Driven Development--BDD\n\n**1. Home Page**\n   - OUTPUT: 'Navbar, Home page content'\n   \n**2. User Action:** \n   - INPUT:  Click : Navbar : 'ThyVoice', 'HOME'\n   - OUTPUT: Home page\n   - OUTPUT: All Blogs\n   - OUTPUT: Random Quote\n   \n**4. User Action:**\n   - INPUT:  Click : Navbar : 'Sign in'\n   - OUTPUT: Login page\n   - OUTPUT: Login form + option to 'Sign up'\n   \n**5. User Action:**\n   - INPUT:  Click : option : 'Sign up'\n   - OUTPUT: Sign up page\n   - OUTPUT: Sign up form: 'Your email address...:','Your username...','Your password...:','Confirm your password'\n   - INPUT:  user's details, click/ENTER: Submit\n   - OUTPUT: Redirect to 'Login' page.\n   \n**6. Login Form:**\n   - OUTPUT: 'Email...:','Password...:'\n   - INPUT:  user's details, click/ENTER: Sign In\n   - OUTPUT: Redirect to 'Home' page\n\n**7. Home Page:**\n   - OUTPUT: Random quote\n   - OUTPUT: All blog posts\n   - INPUT:  Click : 'Read more'\n   - OUTPUT: Blog page\n   - OUTPUT: The selected blog posts\n   - OUTPUT: Blog content, All comments accordion, Comment accordion\n   - INPUT:  Click: Comment\n   - OUTPUT: Create comment form--on submit, blog page refreshes\n   - INPUT:  Click: All comments\n   - OUTPUT: All blog post comments\n\n**8. User Action:**\n   - INPUT:  Click : Navbar : 'ThyVoice', 'Home'\n   - OUTPUT: Random quote\n   - OUTPUT: All blog posts\n\n**9. User Action:**\n   - INPUT:  Click : Navbar : 'Create post'\n   - OUTPUT: Create blog page\n   - OUTPUT: Create blog form--on submit, redirects to home page\n\n**10. User Action:**\n   - INPUT:  Click : Navbar : 'Blogger Profile'\n   - OUTPUT: Blogger profile page\n   - OUTPUT: User bio section\n   - OUTPUT: User's blog posts\n\n**11. User Action:**\n   - INPUT:  Click : 'Edit bio' \n   - OUTPUT: Profile update page\n   - OUTPUT: profile update form--on submit, redirects to profile page\n   \n**12. User Action:**\n   - INPUT:  Click : 'Update post' \n   - OUTPUT: Blog update page\n   - OUTPUT: Blog update form--on submit, redirects to profile page\n\n**13. User Action:**\n   - INPUT:  Click : 'Delete post' \n   - OUTPUT: Blog delete page\n   - OUTPUT: Blog delete confirmation--on submit, redirects to profile page\n\n**14. User Action:**\n   - INPUT:  Click : Navbar : 'ThyVoice','Home'\n   - INPUT:  Click : 'Subscribe' \n   - OUTPUT: Subscribe page\n   - OUTPUT: Subscribe user form--on submit, redirects to home page\n\n**15. User Action:**\n   - INPUT:  Click : Browser Page : Close\n   - Exits\n\n\n## Setup/Installation Requirements\n\n* To use this open-source repo, clone it; to contribute, fork it. \n* Open your Terminal (CTRL + ALT + T on Ubuntu/Linux). \n* Make a destination directory in your preferred path (where you would like to clone the repo into.)\n* Run the command ``` cd yourDestinationDirectory ```\n* Run the command ``` git clone https://github.com/benie254/thyvoice.git ``` to clone the repo into your destination directory. \n* Run the command ``` cd ThyVoice ``` to move you into this repo's directory.\n* Run the command ``` atom . ``` for Atom or ``` code . ``` for VSCode --opens the directory in your preferred code editor. (it is okay if you use something different.)\n* Happy coding!\n\n## Known Bugs\n\nNo known bugs. Please report any issues or encountered bugs! \n\n## Technologies Used\n\n* [Python](https://www.python.org/) \n* [Flask](https://flask.palletsprojects.com/en/2.1.x/)\n\n## Other Resources \n\n* [Bootstrap](https://getbootstrap.com/) -- page designs\n* [Adobe Color Wheel](https://color.adobe.com/) -- color palette \n* [Coolors](https://coolors.co/) -- color palette\n* [Google Fonts](https://fonts.google.com) -- stylized fonts\n\n\n## Support and contact details\n\nReach out with any issues, concerns, or contributions to [Benie-throughMail](davinci.monalissa@gmail.com)\n\n### License\n\n*Copyright (c) 2022* ***Benson Langat***\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.*\n\n###\nCopyright (c) 2022 **Benson Langat**\n\n[Python](https://www.python.org/) version 3.8.13\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenie254%2Fthyvoice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenie254%2Fthyvoice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenie254%2Fthyvoice/lists"}