{"id":25403133,"url":"https://github.com/btag16/cosmos-flask-blog","last_synced_at":"2026-04-10T15:01:55.799Z","repository":{"id":275900005,"uuid":"923626444","full_name":"BTAG16/Cosmos-Flask-Blog","owner":"BTAG16","description":"A personal blogging platform built with Flask, PostgreSQL, and Bootstrap. Features user authentication, dynamic posts, email notifications, and a responsive design for a modern blogging experience.","archived":false,"fork":false,"pushed_at":"2025-03-09T16:22:26.000Z","size":3670,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-09T17:24:28.807Z","etag":null,"topics":["bootstrap5","database","flask","flask-application","gunicorn","orm","postgresql","procfile","programming","psycopg2","python","sqlalchemy","sqlite","wtforms"],"latest_commit_sha":null,"homepage":"https://cosmos-blog.onrender.com/","language":"CSS","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/BTAG16.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":"2025-01-28T15:31:40.000Z","updated_at":"2025-03-09T16:22:30.000Z","dependencies_parsed_at":"2025-02-05T07:35:15.457Z","dependency_job_id":null,"html_url":"https://github.com/BTAG16/Cosmos-Flask-Blog","commit_stats":null,"previous_names":["btag16/cosmos-flask-blog"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BTAG16%2FCosmos-Flask-Blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BTAG16%2FCosmos-Flask-Blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BTAG16%2FCosmos-Flask-Blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BTAG16%2FCosmos-Flask-Blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BTAG16","download_url":"https://codeload.github.com/BTAG16/Cosmos-Flask-Blog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248574894,"owners_count":21127085,"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":["bootstrap5","database","flask","flask-application","gunicorn","orm","postgresql","procfile","programming","psycopg2","python","sqlalchemy","sqlite","wtforms"],"created_at":"2025-02-16T02:28:01.105Z","updated_at":"2025-12-30T20:21:35.270Z","avatar_url":"https://github.com/BTAG16.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cosmos' Blog\n\nWelcome to **Cosmos' Blog**, a personal blogging platform built with **Flask**, **PostgreSQL**, **Flask-Login**, and **Bootstrap**! This project offers a clean and responsive design, allowing users to explore and read blog posts effortlessly. It also features user authentication, contact form email notifications, and database integration for storing posts and user data.\n\n---\n\n## 🌟 Features\n- **User Authentication**: Secure login and registration with password hashing and Flask-Login.\n- **Dynamic Blog Posts**: Blog content is stored in a PostgreSQL database and dynamically loaded.\n- **Responsive Design**: Built with Bootstrap for a seamless experience across all devices.\n- **Contact Form**: Users can reach out through the contact form, which sends email notifications using Flask-Mail.\n- **Protected Routes**: User access is managed with decorators, ensuring only authenticated users can access certain pages.\n\n---\n\n## 🌐 Live Demo  \nCheck out the live version of the site: [Cosmos' Blog](https://cosmos-flask-blog-2.onrender.com/)\n\n---\n\n## 🚀 Installation\n\n### 📋 Prerequisites\n- Python 3.x\n- pip (Python package manager)\n- PostgreSQL (for database)\n\n---\n\n### 🛠️ Steps to Set Up Locally\n\n#### 1️⃣ Clone the Repository\n```\ngit clone https://github.com/yourusername/cosmos-blog.git\ncd cosmos-blog\n```\n### 2️⃣ Install Dependencies\n```\npip install -r requirements.txt\n```\n### 3️⃣ Set Up Database\nInstall PostgreSQL and set up a new database.\nCreate a .env file in the root directory and add the following environment variables:\n```\nFLASK_APP=main.py\nFLASK_ENV=development\nDATABASE_URL=postgresql://yourusername:yourpassword@localhost/yourdbname\nSECRET_KEY=your-secret-key\nMAIL_USERNAME=your-email@example.com\nMAIL_PASSWORD=your-email-password\n```\n### 4️⃣ Run the Application\nStart the Flask development server:\n\n```\npython main.py\n```\n### 5️⃣ Open in Browser\nVisit the application at:\n\n```\nhttp://127.0.0.1:5000\n```\n## 📦 Deployment (Optional - Render)\nThis project is optionally deployed on Render. If you'd like to deploy it, follow the steps below:\n\n### Deployment Steps:\nConnect the repository to Render.\nSet the Build Command:\n```\npip install -r requirements.txt\n```\nSet the Start Command:\n```\ngunicorn main:app\n```\n\n## 🛠️ Technology Stack\nBackend: Flask\nFrontend: Bootstrap 5\nDatabase: PostgreSQL (hosted on Render)\nAuthentication: Flask-Login, Werkzeug for password hashing\nEmail (Contact Form): Flask-Mail\nDeployment: Render (optional)\nWeb Server: Gunicorn\n\n## 📜 License\nThis project is open-source and available under the MIT License.\n\n## 👤 Author\nCreated and maintained by Cosmos Junior.\nFeel free to reach out for any inquiries or suggestions at rumeighoraye@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtag16%2Fcosmos-flask-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbtag16%2Fcosmos-flask-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbtag16%2Fcosmos-flask-blog/lists"}