Skip to content

Commit b3aad18

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

File tree

1 file changed

+51
-15
lines changed

1 file changed

+51
-15
lines changed

README.md

Lines changed: 51 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,76 @@
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+
15+
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.
16+
17+
1. Create a [Laravel project](https://laravel.com/docs/5.8/installation#installing-laravel) for this app, and make sure that it works:
18+
19+
mkdir ~/Code/Laravel
20+
cd ~/Code/Laravel
21+
composer global require laravel/installer
22+
# on Ubuntu 18.04 and Debian 9+:
23+
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc
24+
# on other systems this might be
25+
# echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc
26+
# apply PATH:
27+
source ~/.bashrc
28+
# create the laravel project for this app:
29+
laravel new webapp
30+
31+
1. Add this package into your Laravel project in the parent folder of the app folder:
32+
33+
cd webapp/
34+
composer require ryancwalsh/stack-exchange-backup-laravel:dev-master --prefer-source
35+
36+
1. Run _artisan_, and choose to publish the "Provider" from this package: `ryancwalsh\StackExchangeBackupLaravel\ExportStackExchangeServiceProvider`
37+
38+
php artisan vendor:publish
39+
1140
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.
41+
42+
1. Run
43+
44+
php artisan exportStackExchange
45+
46+
(Note that `php artisan exportStackExchange --flushCache` is the option to clear the cached access codevalue.)
47+
48+
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.
49+
(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...`)
50+
1451
1. Finished! The JSON files will appear in your `/storage/app/StackExchange` folder.
1552

1653
```
1754
# These are sample .env values:
18-
STACKAPPS_CLIENT_ID=12227
19-
STACKAPPS_CLIENT_SECRET=ydxGSDFHDF4DtZqCesr)yJIw((
20-
STACKAPPS_KEY=JuWsTgfG2CqjdghkhdgBkQ((
55+
STACKAPPS_CLIENT_ID=<your Client Id>
56+
STACKAPPS_CLIENT_SECRET=<your Client Secret>
57+
STACKAPPS_KEY=<your Key>
58+
# optional, in case you want to use AWS:
2159
AWS_ACCESS_KEY_ID=AKIAmb3mbn56mn6
2260
AWS_SECRET_ACCESS_KEY=jl234k5jl23k45j23lj5
2361
AWS_DEFAULT_REGION=us-east-1
2462
AWS_BUCKET=xyz
2563
```
2664

27-
28-
2965
## If You Use This Package, Let Me Know!
66+
3067
**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).
3168

3269
___
3370

3471
### 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-
3772

73+
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.
3874

3975
### Other Resources That Helped Me
4076

0 commit comments

Comments
 (0)