{"id":22539890,"url":"https://github.com/machariamark/blog","last_synced_at":"2026-04-02T02:50:34.275Z","repository":{"id":121560759,"uuid":"409868971","full_name":"MachariaMark/blog","owner":"MachariaMark","description":"This a personal blogging website where a user can create and share their opinions and other users can read and comment on them. Apart from that,i have a feature that displays random quotes to inspire your users. ","archived":false,"fork":false,"pushed_at":"2021-09-25T15:59:17.000Z","size":12828,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-02T08:11:24.395Z","etag":null,"topics":["bootstrap4","css3","flask","font-awesome","google-font-api","html5","javascript","jquery","postgresql","python","sqlalchemy"],"latest_commit_sha":null,"homepage":"https://machariablog.herokuapp.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MachariaMark.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-24T07:13:46.000Z","updated_at":"2021-09-25T16:11:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"53d14d42-f785-494e-8568-bc136c165e4a","html_url":"https://github.com/MachariaMark/blog","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/MachariaMark%2Fblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MachariaMark%2Fblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MachariaMark%2Fblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MachariaMark%2Fblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MachariaMark","download_url":"https://codeload.github.com/MachariaMark/blog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245984589,"owners_count":20704798,"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","css3","flask","font-awesome","google-font-api","html5","javascript","jquery","postgresql","python","sqlalchemy"],"created_at":"2024-12-07T12:08:50.696Z","updated_at":"2025-12-30T20:31:56.856Z","avatar_url":"https://github.com/MachariaMark.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Blog \u003cdiv dir=\"rtl\"\u003e24.09.2021\u003c/div\u003e\n#### \u003cdiv dir=\"rtl\"\u003eBy **Mark Muchiri Macharia**\u003c/div\u003e\n## Live Site link\n\n## Description\nThis is a personal blogging website where you can create and share your opinions and other users can read and comment on them. with a feature that displays random quotes to inspire your users.\n\n####  User view\n* User can view the blog posts on the site\n* User sees random quotes on the site\n* User can view the most recent posts\n* User can subscribe to blog mailing list and receives an email alert when a new post is made.\n* User can comment on blog posts\n\n####  Writer view\n* sign in to the blog.\n* create a blog from the application.\n* delete comments that I find insulting or degrading\n* update or delete blogs I have created.\n\n## Behavior Driven Development\n\n| Input                    | Behaviour                       | Output                                       |\n| -------------------------| ------------------------------  | -------------------------------------------- |\n| Subscribe to mail list              | Input the email               | Redirect you to the index page               |\n| Writer login                    | Take you to home page           | Redirect you to the Homepage                 |\n| Create a blog post by filling blog form          | Write your blog and post it to blogs    | Your blog is displayed  in index page                     | \n| User comment on the Blog post plus a nickname | Write your feedback and post it | Your feedback is displayed under the blog post   |\n| Writer delete a blog post       | Deleting the blog post from the database    | The blog post will be deleted and not appear on the page                  |\n| Writer update a blog post       | Updating the blog post in database    | The blog post will be updated                |\n| Writer delete a comment         | Deleting the blog post in database    | The comment will no longer appear under the post                   |\n\n## Technologies Used\n* Python 3.7.4\n* Flask 1.1.1\n* PostgreSQL 11.5\n* SQLAlchemy\n* HTML5  \n* CSS3\n* Javascript\n* Bootstrap 4.0.0 beta \n* Font Awesome 5.8.2\n* jQuery 3.4.1\n* Google Font API\n\n## Requirements\n* This program requires python3.+ (and pip) installed, a guide on how to install python on various platforms can be found [here](https://www.python.org/)\n* Once python is installed, install the folowing external libraries provided in the requirements.txt file using pip\n* Example: \n    * **`pip install flask`**\n\n## Installation and Set-up\nTo view the app, open the live site link provided below on the README.\nHere is a run through of how to set up the application:\n* **Step 1** : Clone this repository using **`git clone https://github.com/collinsmuriuki/blog.git`**, or downloading a ZIP file of the code.\n* **Step 2** : The repository, if downloaded as a .zip file will need to be extracted to your preferred location and opened\n* **Step 3** : Go to the project root directory and install the virtualenv library using pip an afterwards create a virtual environment. Run the following commands respectively:\n    * **`pip install virtualenv`**\n    * **`virtualenv venv`**\n    * **`source venv/bin/activate`**\n        * Note that you can exit the virtual environment by running the command **`deactivate`**\n* **Step 4** : Go to config.py and set the SQLALCHEMY_DATABASE_URI to your own, you may use Postgres or any other SQL databse client.\n* **Step 5** : Download the all dependencies in the requirements.txt using **`pip install -r requirements.txt`**\n    * Create a file in your root directory called start.sh and store a generated SECRET key like so **`export SECRET_KEY=\"\u003cyour-key\u003e\"`**\n    * On the same file write down the command **`python3 manage.py server`** \n* **Step 6** : On your terminal, run the following command, **`chmod a+x start.sh`**\n    * You can now launch the application locally by running the command **`./start.sh`** \n    * Open your preferred browser and view the app by opening the link **http://127.0.0.1:5000/**.\n\n## Known Bugs\n* On creating a new post, a subscribed user wil receive a notification email. However, the page will display an error when redirecting the writer to the post page. This feature has been temporarily disabled due to this -- FIXED\n\n## Support and contact details\nFor feedback contact me through;\n* mark.macharia@student.moringaschool.com\n* 0759329269\n\n### License\n[MITlicense](LICENSE) 2021 ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachariamark%2Fblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmachariamark%2Fblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmachariamark%2Fblog/lists"}