diff --git a/README.md b/README.md index efbd47d..8b3c647 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,9 @@ This project is the API for the Learning Platform. It is a Django project using the Django REST Framework application. It integrates with the Github OAuth platform to create accounts and perform authorization for the companion [Learning Platform React client](https://github.com/stevebrownlee/learn-ops-client). -## Prerequisites for Windows Users +## Prerequisites + +### Windows Developer Prerequisites If you are a Windows user, you will need to install WSL and Ubuntu. @@ -16,7 +18,7 @@ Do not do step 5... only steps 1-4. Once you are done, you will be working in an Ubuntu terminal during all setup and developing on the API. -### If WSL and Postgres Already Exists +#### If WSL and Postgres Already Exists If you already have Postgres installed in Ubuntu, then you need to uninstall it and kill the existing cluster. @@ -26,11 +28,20 @@ sudo pg_ctlcluster {version} main stop sudo pg_dropcluster {version} main --stop ``` -## Project Setup +### All Developer Prerequisites + +#### Git + +Make sure you have `git` installed so you can clone and work on the project. + +#### SSH Key -1. Fork this repo to your own Github account. -2. Clone it. -3. `cd` into the project directory. +If you are setting this project up on a new WSL Linux installation, you need to create a new SSH key for that OS. + +1. Set up an SSH key pair for Linux/Mac +2. Add the public SSH key to your Github account +3. Make sure SSH agent is running +4. Use `ssh-add` to add your new private key to the shell session ### Github OAuth App @@ -49,6 +60,13 @@ This application uses Github for authorization instead of user accounts in Djang 11. Click the **Generate a new client secret** button 12. **DO NOT CLOSE TAB. CLIENT AND SECRET NEEDED BELOW.** + +## Getting Started + +1. Fork this repo to your own Github account. Set your fork as remote origin. Set this repository as remote upstream. +2. Clone your fork to your directory of choice. +3. `cd` into the project directory that gets created. + ### Environment Variables Several environment variables need to be set up by you to make the setup process faster and more secure.