{"id":18695231,"url":"https://github.com/milosz275/blog-app","last_synced_at":"2025-04-12T07:24:58.688Z","repository":{"id":253384805,"uuid":"843345800","full_name":"milosz275/blog-app","owner":"milosz275","description":"Fullstack blog application built with Django and React deployed to GitHub Pages as a subpage.","archived":false,"fork":false,"pushed_at":"2025-01-06T21:14:55.000Z","size":4789,"stargazers_count":2,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-08T11:27:43.508Z","etag":null,"topics":["blog","django","django-rest-framework","github-pages","react","rest-api"],"latest_commit_sha":null,"homepage":"https://milosz275.github.io/blog-app","language":"JavaScript","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/milosz275.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":"2024-08-16T10:07:15.000Z","updated_at":"2024-12-14T19:54:54.000Z","dependencies_parsed_at":"2024-08-16T11:30:34.118Z","dependency_job_id":"ce7593a7-b300-45f5-a330-0a834ff2cddf","html_url":"https://github.com/milosz275/blog-app","commit_stats":null,"previous_names":["mldxo/blog-app","milosz275/blog-app"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milosz275%2Fblog-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milosz275%2Fblog-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milosz275%2Fblog-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milosz275%2Fblog-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/milosz275","download_url":"https://codeload.github.com/milosz275/blog-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248532077,"owners_count":21119861,"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":["blog","django","django-rest-framework","github-pages","react","rest-api"],"created_at":"2024-11-07T11:14:20.072Z","updated_at":"2025-04-12T07:24:58.478Z","avatar_url":"https://github.com/milosz275.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blog App\n\n[![Django CI](https://github.com/milosz275/blog-app/actions/workflows/django.yml/badge.svg)](https://github.com/milosz275/blog-app/actions/workflows/django.yml)\n[![CodeQL](https://github.com/milosz275/blog-app/actions/workflows/github-code-scanning/codeql/badge.svg)](https://github.com/milosz275/blog-app/actions/workflows/github-code-scanning/codeql)\n[![GitHub Pages](https://github.com/milosz275/blog-app/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/milosz275/blog-app/actions/workflows/pages/pages-build-deployment)\n[![GitHub Tag](https://img.shields.io/github/v/tag/milosz275/blog-app)](https://github.com/milosz275/blog-app/)\n[![License](https://img.shields.io/github/license/milosz275/blog-app)](LICENSE)\n\n![Logo](assets/logo.png)\n\nFullstack [blog](https://github.com/milosz275/blog-app) application with frontend and backend components. The frontend is built with React and the backend is built with Node.js and Express. The frontend and backend are connected with a RESTful API. The Application can be set to either act like personal blog or platform for people to create their blog postings.\n\n## Schema\n\nSchema is generated using Swagger UI and Redoc. After running the app, schema is available at [http://localhost:8000/schema/swagger-ui](http://localhost:8000/schema/swagger-ui/) and [http://localhost:8000/schema/redoc/](http://localhost:8000/schema/redoc/).\n\n## Features\n\nApplication variants:\n\n- Personal Blog\n- Forum with user registration\n\nPersonal blog offers the page owner to create blog posts and modify them with Django admin panel. People can view public posts and provide their feedback if verified the email. Frontend login and registration components are disabled.\n\nForum offers user registration and login with password, adjustable user profile, and blog post creation with an option to react to other people's posts if logged in.\n\n### Frontend\n\n- [ ] Main page with blog posts and features\n- [x] User logout\n\n### Backend\n\n- [x] User registration\n- [x] User login\n- [x] Dynamic user profile picture using base64 encoding\n- [x] Dynamic blog post miniature using base64 encoding\n- [x] Functional admin panel with image downloads\n- [ ] User profile modification\n- [ ] User email registration verification\n- [ ] User password reset\n- [ ] User password change\n- [ ] Language selection\n\n## Technologies\n\n- React\n- Django\n- RESTful API\n\n## Installation\n\n1. Clone the repository\n2. Install the dependencies\n3. Start the server\n\n### Frontend\n\n```bash\ncd blog-app/frontend\nnpm install\nnpm run start\n```\n\n### Backend\n\n```bash\ncd blog-app/backend\npython3 -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\ntouch .env\necho \"SECRET_KEY=your_secret_key\" \u003e\u003e .env\necho \"DEBUG=True\" \u003e\u003e .env\npython manage.py makemigrations users posts\npython manage.py migrate\npython manage.py runserver\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n\n## Acknowledgements\n\n- [Django REST framework](https://www.django-rest-framework.org/)\n- [React](https://reactjs.org/)\n- [Django](https://www.djangoproject.com/)\n- [Undraw illustrations](https://undraw.co/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilosz275%2Fblog-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmilosz275%2Fblog-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilosz275%2Fblog-app/lists"}