{"id":13534062,"url":"https://github.com/EshaanAgg/workout-buddy","last_synced_at":"2025-04-01T22:31:09.213Z","repository":{"id":104843528,"uuid":"549408063","full_name":"EshaanAgg/workout-buddy","owner":"EshaanAgg","description":"A simple app to store your workout routines. Made with Nuxt 3 and Appwrite.","archived":false,"fork":false,"pushed_at":"2022-10-24T19:21:46.000Z","size":776,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-02T21:31:51.490Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/EshaanAgg.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}},"created_at":"2022-10-11T06:24:30.000Z","updated_at":"2024-08-13T16:22:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"097bb53d-3a03-4763-915f-9fa100d75658","html_url":"https://github.com/EshaanAgg/workout-buddy","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/EshaanAgg%2Fworkout-buddy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EshaanAgg%2Fworkout-buddy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EshaanAgg%2Fworkout-buddy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EshaanAgg%2Fworkout-buddy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EshaanAgg","download_url":"https://codeload.github.com/EshaanAgg/workout-buddy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246720476,"owners_count":20822911,"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:25.975Z","updated_at":"2025-04-01T22:31:08.942Z","avatar_url":"https://github.com/EshaanAgg.png","language":"JavaScript","readme":"# 🔖 Workout Buddy\n\nA simple app to store your workout routines. Made with Nuxt 3 and Appwrite.\n\n## 🔖 Screenshots of the App\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./assets/pics/1.png\" alt=\"Signup Screen\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./assets/pics/2.png\" alt=\"Login Screen\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./assets/pics/3.png\" alt=\"Workouts Screen\"\u003e\n\u003c/p\u003e\n\n## 🎬 Getting Started\n\n### 🤘 Install Appwrite\n\nFollow the simple [Installation Guide](https://appwrite.io/docs/installation) to get Appwrite up and running in no time. You can either deploy Appwrite on your local machine or, on any cloud provider of your choice.\n\n\u003e Note: If you setup Appwrite on your local machine, you will need to create a public IP so that your hosted frontend can access it.\n\nWe need to make a few configuration changes to your Appwrite server.\n\n1. Add a new Web App in Appwrite and enter the endpoint of your website (`localhost, \u003cproject-name\u003e.vercel.app etc`)\n   ![Appwrite Console](https://user-images.githubusercontent.com/31401437/155891052-09bb17e4-a30c-4c73-8c9f-b1cc0b44c596.png)\n\n2. Create a new database, and then a new collection with the following properties.\n\n- **Attributes**\n  Add the following attributes to the collection.\n  \u003e Make sure that your Attribute ID exactly matches the key in the images\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./assets/pics/title.png\" alt=\"title Attribute\" width=\"400\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./assets/pics/load.png\" alt=\"load Attribute\" width=\"400\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./assets/pics/reps.png\" alt=\"reps Attribute\" width=\"400\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./assets/pics/link.png\" alt=\"link Attribute\" width=\"400\"\u003e\n\u003c/p\u003e\n\n- **Permissions**\n  Add the following permissions to your collection. These permissions ensure that only registered users can access the collection.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./assets/pics/permissions.png\" alt=\"Collection Permissions\" width=\"400\"\u003e\n\u003c/p\u003e\n\n### 🚀 Deploy the Front End\n\nYou have two options to deploy the front-end and we will cover both of them here. In either case, you will need to fill in these environment variables that help your frontend connect to Appwrite.\n\n- NUXT_APP_ENDPOINT - Your Appwrite endpoint\n- NUXT_APP_PROJECT - Your Appwrite project ID\n- NUXT_APP_COLLECTION_ID - Your Appwrite collection ID\n- NUXT_APP_DATABASE_ID - Your Appwrite database ID\n\n### **Deploy to a Static Hosting Provider**\n\nYou can deploy to your favourite hosting providers, including Vercel, Netlify and DigitalOcean. You will need to enter the environment variables above when prompted.\n\n\u003e Note: Vercel is unable to auto detect the framework so please use the Vue Framework in case of vercel.\n\n### **Run locally**\n\nFollow these instructions to run the demo app locally\n\n```sh\n$ git clone https://github.com/EshaanAgg/workout-buddy\n$ cd workout-buddy\n```\n\nRun the following command to generate your `.env` vars\n\n```sh\n$ cp .env.example .env\n```\n\nNow fill in the envrionment variables we discussed above in your `.env`\n\nNow run the following commands and you should be good to go 💪🏼\n\n```\n$ npm install\n$ npm run dev\n```\n\n## 🚀 Appwrite CLI\n\n### Installation\n\nYou can follow the simple guide [here](https://appwrite.io/docs/command-line) on the official Appwrite docs to globally install the Appwrite CLI and link it to your project. Then you can conviniently use it to manage, track and even deploy your collections!\n\n### Appwrite.json\n\nHere is my appwrite.json file, that lists the complete structure of my Appwrite backend. You can verify and compare yours to the same to verify the backend has been setup properly.\n\n```\n{\n    \"projectId\": \"634502e6b603aa796019\",\n    \"projectName\": \"workout-buddy\",\n    \"collections\": [\n        {\n            \"$id\": \"634503105a8d544ab6e9\",\n            \"$createdAt\": \"2022-10-11T05:45:52.371+00:00\",\n            \"$updatedAt\": \"2022-10-13T08:41:12.299+00:00\",\n            \"$permissions\": [\n                \"create(\\\"users\\\")\"\n            ],\n            \"databaseId\": \"63450305d0f1b108e5bc\",\n            \"name\": \"workouts\",\n            \"enabled\": true,\n            \"documentSecurity\": true,\n            \"attributes\": [\n                {\n                    \"key\": \"title\",\n                    \"type\": \"string\",\n                    \"status\": \"available\",\n                    \"required\": true,\n                    \"array\": false,\n                    \"size\": 255,\n                    \"default\": null\n                },\n                {\n                    \"key\": \"load\",\n                    \"type\": \"integer\",\n                    \"status\": \"available\",\n                    \"required\": true,\n                    \"array\": false,\n                    \"min\": 0,\n                    \"max\": 1000,\n                    \"default\": null\n                },\n                {\n                    \"key\": \"reps\",\n                    \"type\": \"integer\",\n                    \"status\": \"available\",\n                    \"required\": false,\n                    \"array\": false,\n                    \"min\": 0,\n                    \"max\": 1000,\n                    \"default\": null\n                },\n                {\n                    \"key\": \"link\",\n                    \"type\": \"string\",\n                    \"status\": \"available\",\n                    \"required\": true,\n                    \"array\": false,\n                    \"format\": \"url\",\n                    \"default\": null\n                }\n            ],\n            \"indexes\": []\n        }\n    ]\n}\n```\n","funding_links":[],"categories":["Showcase (Built with Appwrite 📣)"],"sub_categories":["Vue"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEshaanAgg%2Fworkout-buddy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEshaanAgg%2Fworkout-buddy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEshaanAgg%2Fworkout-buddy/lists"}