Skip to content

Commit 0fdbd80

Browse files
committed
Readme: add more thorough instructions
1 parent 1b02f0e commit 0fdbd80

File tree

1 file changed

+42
-15
lines changed

1 file changed

+42
-15
lines changed

README.md

Lines changed: 42 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,67 @@
11
# StackExchangeBackupLaravel
2-
Allows you to export JSON files of your most important data (questions, answers, comments, favorites) from each of your Stack Exchange sites (Stack Overflow, Super User, Server Fault, etc).
2+
3+
Allows you to export JSON files of your most important data (questions,
4+
answers, comments, favorites) from each of your Stack Exchange sites (Stack
5+
Overflow, Super User, Server Fault, etc).
36

47
## Installation
58

6-
1. I think this project requires PHP 7.3 or later, so be sure that your system complies.
7-
1. Sign up at https://stackapps.com/apps/oauth/register to receive a Client ID, Client Secret, and Key. (It's free, easy, and fast.)
8-
1. Create a Laravel project, and make sure that it works: https://laravel.com/docs/5.8/installation#installing-laravel
9-
1. Add this package into your Laravel project: `vagrant@vboxHomestead:~/Code/MyLaravelProject$ composer require ryancwalsh/stack-exchange-backup-laravel:dev-master --prefer-source`
10-
1. Run `php artisan vendor:publish`, and if it gives you a choice, choose to publish from this package.
9+
There is no need to clone this repository, the installation works with _PHP
10+
composer_. It will install the _Laravel_ framework and add this project to the
11+
app.
12+
13+
1. This is only tested on PHP 7.3, so be sure that your system complies.
14+
1. Sign up at https://stackapps.com/apps/oauth/register to receive a Client ID, Client Secret, and Key (it's free, easy, and fast). Note: use `stackexchange.com` for `OAuth Domain` in the setup.
15+
1. Create a [Laravel project](https://laravel.com/docs/5.8/installation#installing-laravel) for this app, and make sure that it works:
16+
17+
mkdir ~/Code/Laravel
18+
cd ~/Code/Laravel
19+
composer global require laravel/installer
20+
# on Ubuntu 18.04 and Debian 9+:
21+
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc
22+
# on other systems this might be
23+
# echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc
24+
# apply PATH:
25+
source ~/.bashrc
26+
# create the laravel project for this app:
27+
laravel new webapp
28+
1. Add this package into your Laravel project in the parent folder of the app folder:
29+
30+
cd webapp/
31+
composer require ryancwalsh/stack-exchange-backup-laravel:dev-master --prefer-source
32+
1. Run _artisan_, and choose to publish the "Provider" from this package: `ryancwalsh\StackExchangeBackupLaravel\ExportStackExchangeServiceProvider`
33+
34+
php artisan vendor:publish
1135
1. Edit your Laravel project's `.env` file to have your own StackApps values. A non-working sample is below.
12-
1. Run `php artisan exportStackExchange`. (Note that `php artisan exportStackExchange --flushCache` is an available option to clear the cached access code value.)
13-
1. Following the instructions in the terminal, you'll use your browser to visit a URL that will provide you with a temporary access token to paste into the terminal.
36+
1. Run
37+
38+
php artisan exportStackExchange
39+
(Note that `php artisan exportStackExchange --flushCache` is the option to clear the cached access codevalue.)
40+
1. Following the instructions in the terminal, you'll use your browser to visit a URL that will provide you with a temporary access token to paste into the terminal.
41+
(Note: you'll find the token in the `code` part of the URL of the page showing "Authorizing Application" like `https://stackexchange.com/oauth/login_success?code=TLBxyz...`)
1442
1. Finished! The JSON files will appear in your `/storage/app/StackExchange` folder.
1543

1644
```
1745
# These are sample .env values:
18-
STACKAPPS_CLIENT_ID=12227
19-
STACKAPPS_CLIENT_SECRET=ydxGSDFHDF4DtZqCesr)yJIw((
20-
STACKAPPS_KEY=JuWsTgfG2CqjdghkhdgBkQ((
46+
STACKAPPS_CLIENT_ID=<your Client Id>
47+
STACKAPPS_CLIENT_SECRET=<your Client Secret>
48+
STACKAPPS_KEY=<your Key>
49+
# optional, in case you want to use AWS:
2150
AWS_ACCESS_KEY_ID=AKIAmb3mbn56mn6
2251
AWS_SECRET_ACCESS_KEY=jl234k5jl23k45j23lj5
2352
AWS_DEFAULT_REGION=us-east-1
2453
AWS_BUCKET=xyz
2554
```
2655

27-
28-
2956
## If You Use This Package, Let Me Know!
57+
3058
**This is the first package that I've ever made, and I'm super curious if anyone will ever use it. If you do try it out, I'd love for you to [open an issue](https://github.com/ryancwalsh/StackExchangeBackupLaravelPHP/issues/new) to say hi** (and of course to tell me any suggestions you have).
3159

3260
___
3361

3462
### If You Want To Get Creative...
35-
Visit https://api.stackexchange.com/docs to read the docs, and you can modify `ExportStackExchangeHelper.php` to do whatever you want. The Stack Exchange API is great.
36-
3763

64+
Visit https://api.stackexchange.com/docs to read the docs, and you can modify `ExportStackExchangeHelper.php` to do whatever you want. The Stack Exchange API is great.
3865

3966
### Other Resources That Helped Me
4067

0 commit comments

Comments
 (0)