{"id":28541318,"url":"https://github.com/ahmadjamil888/ink-flow-share","last_synced_at":"2026-04-09T16:05:03.694Z","repository":{"id":298145474,"uuid":"998975329","full_name":"Ahmadjamil888/ink-flow-share","owner":"Ahmadjamil888","description":"A medium clone with all basic features such as blog generation , auth and history and user data","archived":false,"fork":false,"pushed_at":"2025-06-09T17:12:25.000Z","size":218,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-09T17:25:25.188Z","etag":null,"topics":["articles","blogs","cs","data","flow","herald","ink","ink-flow-share","journalism","medium","post","react","shad","shadcn","share","users","vite"],"latest_commit_sha":null,"homepage":"https://ink-flow-share.vercel.app","language":"TypeScript","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/Ahmadjamil888.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,"zenodo":null}},"created_at":"2025-06-09T14:45:58.000Z","updated_at":"2025-06-09T17:12:28.000Z","dependencies_parsed_at":"2025-06-09T17:25:48.356Z","dependency_job_id":"4ac0c6f0-2f3b-4018-b759-cf8bb1317c5c","html_url":"https://github.com/Ahmadjamil888/ink-flow-share","commit_stats":null,"previous_names":["ahmadjamil888/ink-flow-share"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ahmadjamil888/ink-flow-share","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmadjamil888%2Fink-flow-share","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmadjamil888%2Fink-flow-share/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmadjamil888%2Fink-flow-share/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmadjamil888%2Fink-flow-share/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ahmadjamil888","download_url":"https://codeload.github.com/Ahmadjamil888/ink-flow-share/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahmadjamil888%2Fink-flow-share/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264103170,"owners_count":23557889,"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":["articles","blogs","cs","data","flow","herald","ink","ink-flow-share","journalism","medium","post","react","shad","shadcn","share","users","vite"],"created_at":"2025-06-09T20:00:43.055Z","updated_at":"2026-04-09T16:05:03.662Z","avatar_url":"https://github.com/Ahmadjamil888.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# The Daily Herald - Blog Platform\n\nA modern blog platform built with React, TypeScript, and Tailwind CSS. This platform allows users to create, read, edit, and manage blog posts with a comprehensive admin dashboard.\n\u003cimg src=\"![image](https://github.com/user-attachments/assets/3e4a20da-ecff-4838-b1b8-b36bb299e9bb)\"\u003e\n\n## Project info\n\n**URL**: https://ink-flow-share.vercel.app/\n\n## Features\n\n- **User Authentication**: Login and registration system\n- **Blog Management**: Create, edit, delete, and share blog posts\n- **Admin Dashboard**: Complete administrative control over all content and users\n- **Responsive Design**: Mobile-friendly interface\n- **Real-time Updates**: Dynamic content management\n\n## How to Clone and Run Locally\n\n### Prerequisites\n- Node.js \u0026 npm installed - [install with nvm](https://github.com/nvm-sh/nvm#installing-and-updating)\n\n### Setup Steps\n\n```bash\n# Step 1: Clone the repository\ngit clone https://github.com/Ahmadjamil888/ink-flow-share.git\n\n# Step 2: Navigate to the project directory\ncd ink-flow-share\n\n# Step 3: Install dependencies\nnpm install\n\n# Step 4: Start the development server\nnpm run dev\n```\n\nThe application will be available at `http://localhost:5173`\n\n## User Guide\n\n### Creating a Blog Post\n\n1. **Sign Up/Login**: Create an account or login to existing account\n2. **Navigate to Home**: Click on the \"Write\" button in the header\n3. **Fill the Form**:\n   - Enter a compelling title\n   - Add an optional featured image URL\n   - Write your content in the text area\n4. **Publish**: Click \"Publish Post\" to make it live\n\n### Managing Your Posts\n\n#### Viewing Your Posts\n- Navigate to **\"My Blogs\"** in the sidebar to see all your posts\n- Use the **\"Recent\"** section to see latest posts across the platform\n\n#### Editing Posts\n1. Go to \"My Blogs\" or find your post on the homepage\n2. Click the **Edit button** (pencil icon) on your post\n3. Modify the content in the modal that appears\n4. Click **\"Update Post\"** to save changes\n\n#### Deleting Posts\n1. Locate your post in \"My Blogs\" or on the homepage\n2. Click the **Delete button** (trash icon) on your post\n3. Confirm the deletion\n\n**Note**: You can only edit or delete posts that you have created.\n\n### Navigation\n\nThe sidebar includes:\n- **Home**: Main feed with all blog posts\n- **History**: Chronological view of all posts (oldest first)\n- **My Blogs**: Your personal posts only\n- **Recent**: Latest posts across the platform\n\n## Admin Dashboard\n\n### Accessing Admin Panel\n\n1. Navigate to `/admin` in your browser URL\n2. Login with admin credentials:\n   - **Email**: `admin@gmail.com`\n   - **Password**: `PASSWORD`\n\n### Admin Capabilities\n\n#### Blog Management\n- **View All Posts**: See every blog post on the platform\n- **Edit Any Post**: Click the edit icon next to any post\n- **Delete Any Post**: Click the delete icon next to any post\n\n#### User Management\n- **View All Users**: See all registered users with their details\n- **User Information Display**:\n  - Name and email address\n  - Hashed password\n  - Registration date\n  - Unique user ID\n- **Delete Users**: Remove users from the platform (except currently logged-in admin)\n\n#### Navigation\n- **Back to Site**: Return to the main blog platform\n- **Real-time Data**: All changes reflect immediately\n\n### Admin Dashboard Features\n\n- **Live User Tracking**: New user registrations appear automatically\n- **Post Statistics**: Total count of posts and users\n- **Secure Access**: Protected by admin-only credentials\n- **Comprehensive Management**: Full CRUD operations on all content\n\n## Technical Details\n\n### Built With\n- **React 18** - Frontend framework\n- **TypeScript** - Type safety\n- **Vite** - Build tool and development server\n- **Tailwind CSS** - Styling framework\n- **Shadcn/ui** - UI component library\n- **React Router** - Client-side routing\n- **Lucide React** - Icon library\n\n### Project Structure\n```\nsrc/\n├── components/          # Reusable UI components\n├── contexts/           # React contexts for state management\n├── hooks/              # Custom React hooks\n├── pages/              # Page components\n├── lib/                # Utility functions\n└── types/              # TypeScript type definitions\n```\n\n### State Management\n- **BlogContext**: Manages all blog posts and related operations\n- **AuthContext**: Handles user authentication and user data\n- **Local Storage**: Persists user data and authentication state\n\n## Security Notes\n\n- Passwords are simulated as \"hashed\" for demonstration\n- Admin credentials are hardcoded for demo purposes\n- In production, implement proper authentication and password hashing\n\n## Deployment\n\n\n### Custom Domain\nvercel Navigate to Project \u003e Settings \u003e Domains and click Connect Domain.\nRead more: [Setting up a custom domain](https://docs.lovable.dev/tips-tricks/custom-domain#step-by-step-guide)\n\n## Development\n\n### Available Scripts\n- `npm run dev` - Start development server\n- `npm run build` - Build for production\n- `npm run preview` - Preview production build\n\n### Contributing\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Submit a pull request\n\n## Support\n\nFor support and questions:\n\n- Visit the [Aurion softwares](https://aurionsoft.site/)\n\n---\n\n**The Daily Herald** - Your trusted source for quality journalism and user-generated content.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmadjamil888%2Fink-flow-share","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahmadjamil888%2Fink-flow-share","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahmadjamil888%2Fink-flow-share/lists"}