{"id":13533807,"url":"https://github.com/letsintegreat/Almost-Instagram","last_synced_at":"2025-04-01T22:30:51.877Z","repository":{"id":65599550,"uuid":"545082726","full_name":"letsintegreat/Almost-Instagram","owner":"letsintegreat","description":null,"archived":false,"fork":false,"pushed_at":"2022-10-19T21:06:32.000Z","size":10019,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-02T07:23:40.032Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","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/letsintegreat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-03T18:51:51.000Z","updated_at":"2024-07-17T04:00:14.000Z","dependencies_parsed_at":"2023-01-31T07:30:51.762Z","dependency_job_id":null,"html_url":"https://github.com/letsintegreat/Almost-Instagram","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsintegreat%2FAlmost-Instagram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsintegreat%2FAlmost-Instagram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsintegreat%2FAlmost-Instagram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/letsintegreat%2FAlmost-Instagram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/letsintegreat","download_url":"https://codeload.github.com/letsintegreat/Almost-Instagram/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222774631,"owners_count":17035752,"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":[],"created_at":"2024-08-01T07:01:23.294Z","updated_at":"2024-11-02T20:32:03.176Z","avatar_url":"https://github.com/letsintegreat.png","language":"Dart","readme":"\u003cp  align=\"center\"\u003e\n\u003ca  href=\"https://flutter.dev\"  target=\"_blank\"\u003e\u003cimg  height=\"39\"  src=\"https://upload.wikimedia.org/wikipedia/commons/1/17/Google-flutter-logo.png\"  alt=\"Flutter Logo\"\u003e\u003c/a\u003e \u003ca\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003c/a\u003e\n\u003ca  href=\"https://appwrite.io\"  target=\"_blank\"\u003e\u003cimg  width=\"260\"  height=\"39\"  src=\"https://appwrite.io/images/github-logo.png\"  alt=\"Appwrite Logo\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# Almost Instagram\n\nA functional clone of Instagram made using Flutter and Appwrite.\n\n## Features\n\n- UI identical to Instagram (Pages: Launch, Login, Signup, Feed, Explore, New post, Profile).\n- Authentication (Login \u0026 Signup).\n- Post an image with caption.\n- Users can see each others' posts.\n- Appwrite is used to authenticate users, upload pictures, and store database of posts.\n\n## Screenshots\n\n| \u003cimg src = \".github\\assets\\SS-1.png\" height = \"500\"\u003e   | \u003cimg src = \".github\\assets\\SS-2.png\" height = \"500\"\u003e   |  \u003cimg src = \".github\\assets\\SS-3.png\" height = \"500\"\u003e  |\n|:-: |:-: |--- |\n|  \u003cimg src = \".github\\assets\\SS-4.png\" height = \"500\"\u003e  |  \u003cimg src = \".github\\assets\\SS-5.png\" height = \"500\"\u003e  |   \u003cimg src = \".github\\assets\\SS-6.png\" height = \"500\"\u003e |\n| \u003cimg src = \".github\\assets\\SS-7.png\" height = \"500\"\u003e   |  \u003cimg src = \".github\\assets\\SS-8.png\" height = \"500\"\u003e  | \u003cimg src = \".github\\assets\\SS-9.png\" height = \"500\"\u003e    |\n|    |    |    |\n\nAnd no, these screenshots are not of the actual Instagram app lol\n\n## Installation\n\n### Appwrite\n\nAppwrite backend server is designed to run in a container environment. Running your server is as easy as running one command from your terminal. You can either run Appwrite on your localhost using docker-compose or on any other container orchestration tool like Kubernetes, Docker Swarm or Rancher.\n\nThe easiest way to start running your Appwrite server is by running our docker-compose file. Before running the installation command make sure you have [Docker](https://www.docker.com/products/docker-desktop) installed on your machine:\n\n### Unix\n\n```bash\ndocker run -it --rm \\\n    --volume /var/run/docker.sock:/var/run/docker.sock \\\n    --volume \"$(pwd)\"/appwrite:/usr/src/code/appwrite:rw \\\n    --entrypoint=\"install\" \\\n    appwrite/appwrite:1.0.1\n```\n\n### Windows\n\n#### CMD\n\n```cmd\ndocker run -it --rm ^\n    --volume //var/run/docker.sock:/var/run/docker.sock ^\n    --volume \"%cd%\"/appwrite:/usr/src/code/appwrite:rw ^\n    --entrypoint=\"install\" ^\n    appwrite/appwrite:1.0.1\n```\n\n#### PowerShell\n\n```powershell\ndocker run -it --rm ,\n    --volume /var/run/docker.sock:/var/run/docker.sock ,\n    --volume ${pwd}/appwrite:/usr/src/code/appwrite:rw ,\n    --entrypoint=\"install\" ,\n    appwrite/appwrite:1.0.1\n```\n\nOnce the Docker installation completes, go to \u003chttp://localhost\u003e to access the Appwrite console from your browser. Please note that on non-linux native hosts, the server might take a few minutes to start after installation completes.\n\nFor advanced production and custom installation, check out our Docker [environment variables](docs/tutorials/environment-variables.md) docs. You can also use our public [docker-compose.yml](https://appwrite.io/docker-compose.yml) file to manually set up and environment.\n\n### Flutter\n\nTo build and run this project:\n\n1. Get Flutter [here](https://docs.flutter.dev/get-started/install) if you don't already have it\n2. Clone this repository\n3. `cd` into the repo folder\n4. Run `flutter pub get` to get the dependencies\n5. Run `flutter run-android` or `flutter run-ios` to build the app\n\n(Please note that a Mac with XCode is required to build for iOS)\n\n## Setting up appwrite project\n\nWe are going to use Appwrite CLI to init the project on appwrite console.\n\n## Install Appwrite CLI\n\nThe CLI is packaged both as an [npm module](https://www.npmjs.com/package/appwrite-cli) as well as a [standalone binary](https://github.com/appwrite/sdk-for-cli/releases/latest) for your operating system, making it completely dependency free, platform independent and language agnostic.\n\n## Install with NPM\n\nIf you have npm set up, run the command below to install the CLI\n\n```bash\nnpm install -g appwrite-cli\n```\n\n## Install with Script\n\nFor a completely dependency-free installation, the CLI also ships with a convenient installation script for your operating system\n\n## MacOS\n\nUsing [Homebrew](https://brew.sh/)\n\n```bash\nbrew tap appwrite/sdk-for-cli https://github.com/appwrite/sdk-for-cli\nbrew update\nbrew install --HEAD appwrite\n```\n\nor terminal\n\n```bash\ncurl -sL https://appwrite.io/cli/install.sh | bash\n```\n\n## Windows\n\n```powershell\niwr -useb https://appwrite.io/cli/install.ps1 | iex\n```\n\n## Linux\n\n```bash\ncurl -sL https://appwrite.io/cli/install.sh | bash\n```\n\nAfter the installation is complete, verify the install using\n\n```cli\nappwrite -v\n```\n\n## Setup the project using Appwrite CLI\n\nBefore you can use the CLI, you need to login to your Appwrite account using\n\n```cli\nappwrite login\n```\n\nAfter you're logged in, the CLI needs to be initialized with your Appwrite project. You can initialize the CLI using:\n\n```cli\nappwrite init project\n```\n\nChoose `Create a new Appwrite project` and the following prompts will guide you through the setup process, enter `almostinstagram` as the ID for your new project. The init command also creates an **appwrite.json** file representing your Appwrite project.\n\nCreate a new database\n\n```cli\nappwrite databases create --databaseId postdatabase --name posts\n```\n\nCreate a new collection\n\n```cli\nappwrite databases createCollection --databaseId postdatabase --collectionId postcollection --name posts --permissions 'read(\\\"any\\\")' 'write(\\\"any\\\")'\n```\n\nCreate `username` attribute\n\n```cli\nappwrite databases createStringAttribute --databaseId postdatabase --collectionId postcollection --key username --size 255 --required true\n```\n\nCreate `caption` attribute\n\n```cli\nappwrite databases createStringAttribute --databaseId postdatabase --collectionId postcollection --key caption --size 255 --required true\n```\n\nCreate `imageId` attribute\n\n```cli\nappwrite databases createStringAttribute --databaseId postdatabase --collectionId postcollection --key imageId --size 255 --required true\n```\n\nCreate a bucket to store post images\n\n```cli\nappwrite storage createBucket --bucketId imagesbucket --name images --permissions 'read(\\\"any\\\")' 'write(\\\"any\\\")'\n```\n\n## `lib/utils/api.dart`\n\nYou may need to make some changes in `lib/utils/api.dart`:\n\n**url**: This is the endpoint URL. If you are testing the app on an android studio emulator and appwrite is configured on localhost, then you don't need to change it. Otherwise, you will need to change the hostname to the URL that you set while initiating appwrite.\n\nRest of the `api.dart` should be left as it is.\n\n## Register the client on your dashboard\n\nFinally, you need to register the flutter app. On appwrite console (http://localhost), choose this project, then under \"Platforms\" head, choose \"Add Platform\", choose \"New Flutter App\", and add the required information for all the platforms you are going to run the app.\n\n**Now your Project is ready to run.**\n\n## File Structure\n\n```bash\n.\n├── android # android files\n├── assets # assets (images)\n├── ios # ios files\n└── lib\n    ├── models # Custom Models\n    ├── screens\n    │   └── home_tabs # Tabs for home screen\n    ├── utils # Api info\n    └── widgets # Custom widgets\n```","funding_links":[],"categories":["Showcase (Built with Appwrite 📣)"],"sub_categories":["Flutter"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fletsintegreat%2FAlmost-Instagram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fletsintegreat%2FAlmost-Instagram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fletsintegreat%2FAlmost-Instagram/lists"}