{"id":20309725,"url":"https://github.com/abubakerkhaled/awesome","last_synced_at":"2026-05-08T06:20:18.398Z","repository":{"id":255450819,"uuid":"851640720","full_name":"abubakerKhaled/Awesome","owner":"abubakerKhaled","description":"Awesome is a social photo sharing web app. that uses django framework with htmx to create dynamic web app.","archived":false,"fork":false,"pushed_at":"2024-09-20T22:09:18.000Z","size":365,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-20T20:01:34.480Z","etag":null,"topics":["allauth","django","htmlx","hyperscript","postgersql","postgresql-database","python","python3","social-media","social-media-app"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/abubakerKhaled.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":"2024-09-03T13:14:52.000Z","updated_at":"2024-11-06T09:03:37.000Z","dependencies_parsed_at":"2024-09-15T23:39:15.721Z","dependency_job_id":"64347e0c-86d7-4649-bda3-d103f4e639c6","html_url":"https://github.com/abubakerKhaled/Awesome","commit_stats":null,"previous_names":["abubakerkhaled/awesome"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abubakerKhaled%2FAwesome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abubakerKhaled%2FAwesome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abubakerKhaled%2FAwesome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abubakerKhaled%2FAwesome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abubakerKhaled","download_url":"https://codeload.github.com/abubakerKhaled/Awesome/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240959117,"owners_count":19884911,"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":["allauth","django","htmlx","hyperscript","postgersql","postgresql-database","python","python3","social-media","social-media-app"],"created_at":"2024-11-14T17:28:30.470Z","updated_at":"2026-05-08T06:20:13.375Z","avatar_url":"https://github.com/abubakerKhaled.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWESOME Web App\n\nA social photo-sharing web application built with Django and HTMX for dynamic interactions. Users can create accounts, share photos, and interact with posts through comments and replies.\n\n## Features\n\n- **User Accounts:** Create and manage user profiles.\n- **Photo Sharing:** Upload and share photos with customizable posts.\n- **Comments \u0026 Replies:** Engage with posts through comments and nested replies.\n- **Messaging:** Send and receive encrypted messages between users.\n\n## Technologies\n\n- **Django:** Framework for server-side logic and database management.\n- **HTMX:** Enhances user interactions with dynamic updates without full page reloads.\n- **Cryptography:** Used for encrypting and decrypting messages.\n\n## Models\n\n### a_posts App\n\n- **Tag**\n  - Categorizes posts.\n  - Fields: `name`, `image`, `slug`, `order`.\n  - Meta: Ordered by `order`.\n\n- **Post**\n  - Represents a photo post.\n  - Fields: `title`, `artist`, `url`, `author`, `image`, `body`, `likes`, `tags`, `created`, `id`.\n  - Meta: Ordered by creation date.\n\n- **LikedPost**\n  - Tracks which users liked which posts.\n  - Fields: `user`, `post`, `created_at`.\n\n- **Comment**\n  - Represents a comment on a post.\n  - Fields: `author`, `parent_post`, `body`, `likes`, `created_at`, `id`.\n  - Meta: Ordered by creation date.\n\n- **LikedComment**\n  - Tracks which users liked which comments.\n  - Fields: `user`, `comment`, `created_at`.\n\n- **Reply**\n  - Represents a reply to a comment.\n  - Fields: `author`, `parent_comment`, `body`, `likes`, `created_at`, `id`.\n  - Meta: Ordered by creation date.\n\n- **LikedReply**\n  - Tracks which users liked which replies.\n  - Fields: `user`, `reply`, `created_at`.\n\n### a_users App\n\n- **Profile**\n  - Extends the default `User` model with additional details.\n  - Fields: `user`, `realname`, `image`, `email`, `location`, `bio`, `created`, `gender`.\n  - Methods: \n    - `__str__()`: Returns the user associated with the profile.\n    - `avatar`: Returns the URL of the profile image or a default image.\n    - `name`: Returns the real name or username.\n\n### a_inbox App\n\n- **InboxMessage**\n  - Represents a message sent between users.\n  - Fields: `sender`, `Conversation`, `body`, `created_at`.\n  - Methods:\n    - `body_decrypted`: Decrypts the message body.\n  - Meta: Ordered by creation date.\n\n- **Conversation**\n  - Represents a conversation between users.\n  - Fields: `id`, `participants`, `lastmessage_created`, `is_seen`.\n  - Meta: Ordered by last message creation date.\n\n## Installation\n\n1. Clone the repository:\n   ```bash\n   git clone \u003crepository-url\u003e\n   ```\n\n2. Navigate to the project directory:\n   ```bash\n   cd \u003cproject-directory\u003e\n   ```\n\n3. Install the dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. Apply migrations:\n   ```bash\n   python manage.py migrate\n   ```\n\n5. Create a superuser (optional):\n   ```bash\n   python manage.py createsuperuser\n   ```\n\n6. Run the development server:\n   ```bash\n   python manage.py runserver\n   ```\n\n7. Access the app at `http://localhost:8000`.\n\n## Configuration\n\n- **Encryption Key:** Set `ENCRYPT_KEY` in your Django settings to ensure secure message encryption.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabubakerkhaled%2Fawesome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabubakerkhaled%2Fawesome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabubakerkhaled%2Fawesome/lists"}