{"id":31057093,"url":"https://github.com/doojonio/bloginya","last_synced_at":"2026-04-11T05:34:22.306Z","repository":{"id":294920514,"uuid":"979114242","full_name":"doojonio/bloginya","owner":"doojonio","description":"Blog project for CPI in PERL!!!","archived":false,"fork":false,"pushed_at":"2026-03-23T09:38:37.000Z","size":3648,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2026-03-24T00:53:54.602Z","etag":null,"topics":["angular","blog","hacktoberfest","mojolicious","perl","postgresql","redis","typescript"],"latest_commit_sha":null,"homepage":"https://polyine.com","language":"TypeScript","has_issues":false,"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/doojonio.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-07T02:46:45.000Z","updated_at":"2026-03-23T09:38:42.000Z","dependencies_parsed_at":"2025-06-18T14:26:19.135Z","dependency_job_id":"511db1b5-3504-46e0-9852-0a3034078350","html_url":"https://github.com/doojonio/bloginya","commit_stats":null,"previous_names":["doojonio/bloginya"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/doojonio/bloginya","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doojonio%2Fbloginya","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doojonio%2Fbloginya/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doojonio%2Fbloginya/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doojonio%2Fbloginya/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/doojonio","download_url":"https://codeload.github.com/doojonio/bloginya/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doojonio%2Fbloginya/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31670139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"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":["angular","blog","hacktoberfest","mojolicious","perl","postgresql","redis","typescript"],"created_at":"2025-09-15T06:48:17.069Z","updated_at":"2026-04-11T05:34:22.249Z","avatar_url":"https://github.com/doojonio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bloginya\n\nBloginya is a modern blogging platform built with a Perl backend (Mojolicious) and an Angular frontend.\n\n## Features\n\n*   **User Management:** User registration, blocking, login, and profile management.\n*   **Content Creation:** Create, edit, and delete blog posts with a rich text editor.\n*   **Audio Posts:** Add audio files to blog posts for enhanced multimedia content.\n*   **Categorization:** Organize posts with categories.\n*   **Private categories:** Ability to create private categories visible only to the owner.\n*   **Comments:** Allow users to comment on posts.\n*   **Voice Comments:** Record and attach voice messages to comments.\n*   **File Uploads:** Upload and manage files.\n*   **Search:** Full-text search for posts.\n*   **Admin Panel:** Manage users, posts, and other site settings.\n\n## Architecture\n\nThe project is composed of four main services:\n\n*   **`backend`:** A Perl-based API built with the Mojolicious framework. It handles all the business logic and data persistence.\n*   **`frontend`:** An Angular single-page application that provides the user interface.\n*   **`cool_asia`:** A Python microservice that provides language conversion functionality.\n*   **`cool_audio`:** A Go microservice that handles audio file uploads and streaming for audio posts and voice comments.\n\nAll services are designed to be run in Docker containers.\n\n## Getting Started\n\nTo get the project running locally, you can use Docker Compose.\n\n### Prerequisites\n\n*   [Docker](https://docs.docker.com/get-docker/)\n*   [Docker Compose](https://docs.docker.com/compose/install/)\n\n### Installation\n\n1.  Clone the repository:\n    ```bash\n    git clone \u003crepository-url\u003e\n    cd bloginya\n    ```\n2.  Create a `bloginya.yml` file in the `back` directory by copying the `bloginya.yml.sample` file.\n    ```bash\n    cp back/bloginya.yml.sample back/bloginya.yml\n    ```\n3.  Update the `bloginya.yml` file with your Google OAuth credentials. See the \"Google OAuth Configuration\" section below for more details.\n4.  Run the application using the provided `docker-compose.yml` file:\n    ```bash\n    docker-compose up -d\n    ```\n5.  The application will be available at `http://localhost:4200`.\n\n### Google OAuth Configuration\n\nTo use Google OAuth for authentication, you need to create a project in the [Google Cloud Console](https://console.cloud.google.com/) and enable the \"Google People API\".\n\nOnce you have created a project, you can create an OAuth 2.0 client ID in the \"Credentials\" section. When creating the client ID, you will need to specify the authorized redirect URIs. For local development, you should add `http://localhost:8080/api/oauth/from_google`.\n\nAfter creating the client ID, you will be given a client ID and client secret. You will also need your project ID, which can be found in the \"Dashboard\" section of the Google Cloud Console.\n\nUpdate the `google_oauth` section in your `back/bloginya.yml` file with these values.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a pull request.\n\n## License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoojonio%2Fbloginya","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdoojonio%2Fbloginya","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoojonio%2Fbloginya/lists"}