Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ekarton/google-photos-drive
An Angular app to navigate through your Google Photos albums like a directory
https://github.com/ekarton/google-photos-drive
angular google-photos photos rxjs spa
Last synced: 2 months ago
JSON representation
An Angular app to navigate through your Google Photos albums like a directory
- Host: GitHub
- URL: https://github.com/ekarton/google-photos-drive
- Owner: EKarton
- License: gpl-3.0
- Created: 2024-09-09T21:21:16.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-10-27T07:13:47.000Z (4 months ago)
- Last Synced: 2024-10-27T07:50:22.284Z (4 months ago)
- Topics: angular, google-photos, photos, rxjs, spa
- Language: TypeScript
- Homepage: https://googlephotosdrive.netlify.app
- Size: 26.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Google Photos Drive
[![Netlify Status](https://api.netlify.com/api/v1/badges/8f40be5e-e519-445d-acde-ab30d2209d7b/deploy-status)](https://app.netlify.com/sites/googlephotosdrive/deploys)
## Description
Do you have a lot of albums on Google Photos that is hard to search through? Wish you can view your albums like a directory? Now you can! With this web app, you can view your albums and photos like a directory!
If your albums are named with a `/` (like `Archives/Photos/2010`, `Archives/Photos/2009`), you can navigate through your albums like a directory, starting with `Archives` at the top, and drilling down to `2010` or `2009`.
## Features
- [x] View your albums like a directory
- [x] View all of your photos in an album
- [ ] Add new nested albums
- [ ] Rename existing albums
- [ ] Add photos to an album
- [ ] Remove photos from an album## Walkthrough
Refer to this doc for a detailed walkthrough. However, here are a few screenshots:
![image-1](./docs/home/images/image-1.png)
![image-2](./docs/home/images/image-2.png)
![image-3](./docs/home/images/image-3.png)
## Setup / Getting Started
1. Install dependencies by running `npm install`
2. Next, create an OAuth2 client from Google Cloud for free by following the doc [here](./docs/setting-up-oauth2/README.md)
3. Then, create a `.env` file in the root of this project, and add your client ID, client secrets, and the client redirect uri the file like this:
```.env
NG_APP_GOOGLE_CLIENT_ID=
NG_APP_GOOGLE_CLIENT_SECRET=
NG_APP_GOOGLE_REDIRECT_URL=
```4. Finally, run `ng serve`. You can access the webpage at .
## Useful Scripts for Local Development
1. `ng serve`
Run the app on dev mode (any changes to files will get updated automatically)
2. `ng generate`:
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
3. `ng build`:
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
4. `ng test --watch=false --no-progress --browsers=ChromeHeadless --code-coverage`:
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io) with code coverage and without a browser.
To run only one test, use the `--src` flag. For instance, to run the `photos-section.component.spec.ts` test, run the following command:
```bash
ng test --watch=false --no-progress --browsers=ChromeHeadless --code-coverage --src=src/app/pages/content-page/photos-section/__tests__/photos-section.component.spec.ts
```## Usage
Please note that this project is used for educational purposes and is not intended to be used commercially. We are not liable for any damages/changes/lost data done by this project.
## Credits
Emilio Kartono, who made the entire project.
## License
This project is protected under the GNU licence. Please refer to the [LICENSE](./LICENSE) for more information.