{"id":13455424,"url":"https://github.com/apideck-samples/file-picker","last_synced_at":"2025-03-24T08:32:31.811Z","repository":{"id":38315050,"uuid":"407174967","full_name":"apideck-samples/file-picker","owner":"apideck-samples","description":"A sample project to showcase the React File Picker component","archived":false,"fork":false,"pushed_at":"2023-01-07T11:25:43.000Z","size":1212,"stargazers_count":53,"open_issues_count":9,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-01T08:15:03.241Z","etag":null,"topics":["cloud-storage","file-storage","files","filesharing","nextjs","react","tailwindcss","typescript","unified"],"latest_commit_sha":null,"homepage":"https://file-picker.apideck.dev/","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/apideck-samples.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}},"created_at":"2021-09-16T13:26:21.000Z","updated_at":"2024-03-30T07:09:54.000Z","dependencies_parsed_at":"2023-02-07T01:00:37.000Z","dependency_job_id":null,"html_url":"https://github.com/apideck-samples/file-picker","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/apideck-samples%2Ffile-picker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apideck-samples%2Ffile-picker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apideck-samples%2Ffile-picker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apideck-samples%2Ffile-picker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apideck-samples","download_url":"https://codeload.github.com/apideck-samples/file-picker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221947567,"owners_count":16906148,"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":["cloud-storage","file-storage","files","filesharing","nextjs","react","tailwindcss","typescript","unified"],"created_at":"2024-07-31T08:01:05.306Z","updated_at":"2024-10-28T22:31:01.765Z","avatar_url":"https://github.com/apideck-samples.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Apideck File Picker Demo\n\nA sample project showcasing the [React File Picker](https://www.npmjs.com/package/@apideck/file-picker) component that works with the Apideck [File Storage API](https://developers.apideck.com/apis/file-storage/reference).\n\nSign up for a free account at [apideck.com](https://app.apideck.com/signup) to obtain an API key and App ID.\n\nView the code and documentation of the File Picker component [here](https://github.com/apideck-libraries/file-picker).\n\n## Getting started\n\nDuplicate `.env.example` file, rename it to `.env` and replace the placeholders with your Apideck credentials. You can get your API key at [apideck.com](https://app.apideck.com/api-keys).\n\nNote that if the consumer ID is is randomly generated for demoing purposes.\n\nInstall the dependencies and run the local development server:\n\n```\nyarn \u0026\u0026 yarn dev\n```\n\n\u003cimg alt=\"Screenshot\" src=\"./public/img/filepicker.png\" /\u003e\n\n### Commands\n\n#### `yarn dev`\n\nRuns `next dev` which starts the app in development mode.\u003cbr\u003e\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\n#### `yarn build`\n\nRuns `next build` which builds the application for production usage\n\n#### `yarn start`\n\nRuns `next start` which starts a Next.js production server\n\n#### `yarn lint`\n\nRuns the `eslint` command for all files with the `js`, `ts`, `jsx`, and `tsx` extensions. See the `.eslint.json` file for all configuration settings.\n\n#### `yarn lint:fix`\n\nRuns the `eslint` command with the `--fix` flag which tries to automatically fix linting problems.\n\n#### `yarn lint:cache`\n\nRuns the `eslint` command with the `--cache` flag which only checks the changed files.\n\n#### `yarn lint:format`\n\nRuns Prettier which formats all files inside the `src` directory based on the configuration set inside the `.prettierrc` file.\n\n#### `yarn type-check`\n\nRuns the `tsc` command to compile the project and check if it has type errors.\n\n#### `yarn test`\n\nRuns the `jest` command which runs all tests\n\n#### `yarn test:watch`\n\nRuns the `jest` command with `--watch` flag which runs all tests in watch mode\n\n#### `yarn test:coverage`\n\nRuns the `jest` command with `--coverage` flag which indicates that test coverage information should be collected and reported in the output.\n\n## Commit hooks\n\nThis project uses [husky](https://github.com/typicode/husky) and [lint-staged](https://github.com/okonet/lint-staged) to run linters against staged git files on commit.\n\n#### Pre-commit\n\nBefore each commit we run `eslint` and `prettier` on all staged files.\n\n#### Pre-push\n\nBefore each push to the repository we run `jest` to check if all tests are passing.\n\n## Resources\n\nTo learn more, take a look at the following resources:\n\n- [File Storage API](https://developers.apideck.com/apis/file-storage/reference) - Apideck unified API reference\n- [@apideck/file-picker](https://github.com/apideck-libraries/file-picker) - The React File Picker component\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API\n- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial\n- [TypeScript](https://www.typescriptlang.org/) - learn about TypeScript\n- [Tailwind CSS](https://tailwindcss.com/) - learn about the utility-first CSS framework Tailwind\n- [Jest](https://jestjs.io/) - learn about Jest, the JavaScript Testing Framework\n- [React Testing Library](https://testing-library.com/docs/react-testing-library/intro/) - learn about testing React components with React Testing Library\n- [ESLint](https://eslint.org/) - learn about analyzing code with ESLint\n- [Prettier](https://eslint.org/) - learn about formatting code with Prettier\n- [Prettier Extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - a Prettier extension for Visual Studio Code\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapideck-samples%2Ffile-picker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapideck-samples%2Ffile-picker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapideck-samples%2Ffile-picker/lists"}