mirror of
https://github.com/dholerobin/Lecture_Notes.git
synced 2025-03-17 06:40:07 +00:00
143 lines
3.2 KiB
Markdown
143 lines
3.2 KiB
Markdown
Psych Coding 1
|
||
--------------
|
||
|
||
Base Setup
|
||
----------
|
||
|
||
1. Create free account on Heroku
|
||
1. Install Heroku CLI https://devcenter.heroku.com/articles/getting-started-with-java#set-up
|
||
1. Install PostgreSQL https://www.postgresql.org/download/
|
||
```bash
|
||
brew install postgres
|
||
sudo chown -R `whoami` /usr/local
|
||
```
|
||
1. Ensure postgres is started automatically on boot
|
||
```bash
|
||
pg_ctl -D /usr/local/var/postgres start && brew services start postgresql
|
||
postgres -V
|
||
```
|
||
|
||
3. Create new Idea Project
|
||
1. Spring Initializer
|
||
1.
|
||
+ SDK 11 or 13
|
||
+ com.psych.game
|
||
+ Scaler Backend Project - Psych
|
||
+ Java 11
|
||
+ Maven
|
||
1.
|
||
+ Spring Boot Dev Tools
|
||
+ Lombok
|
||
+ Spring Web
|
||
+ Rest Repositories
|
||
+ Spring Web Services
|
||
+ Spring Data JPA
|
||
+ PostgreSQL Driver
|
||
1. name: pragypsych
|
||
-- --
|
||
|
||
Hello World
|
||
-----------
|
||
|
||
1. Create File: devtest.HelloController
|
||
```java
|
||
package com.psych.game.devtest;
|
||
|
||
import org.springframework.web.bind.annotation.GetMapping;
|
||
import org.springframework.web.bind.annotation.RequestMapping;
|
||
import org.springframework.web.bind.annotation.RestController;
|
||
|
||
@RestController
|
||
@RequestMapping("/dev-test")
|
||
public class HelloController {
|
||
@GetMapping("/")
|
||
public String hello() {
|
||
return "Hello, World!";
|
||
}
|
||
}
|
||
```
|
||
1. Try Build & Run
|
||
- Build succeeds
|
||
- Run fails: Because No DB
|
||
1. Run postgres
|
||
```bash
|
||
psql postgres
|
||
\du # display users
|
||
\list # list databases
|
||
create database psych_local;
|
||
\connect psych_local # connect to specific DB
|
||
\dt # display tables in current DB
|
||
# psql postgres -U pragyagarwal
|
||
```
|
||
1. Add psych_local DB to IntelliJ
|
||
1. Create application.properties
|
||
```java
|
||
spring.datasource.url=jdbc:postgresql://localhost:5432/psych_local
|
||
spring.jpa.hibernate.ddl-auto=update
|
||
|
||
```
|
||
1. Run again. Go to http://localhost:8080/dev-test/
|
||
|
||
-- --
|
||
|
||
Deploy on Heroku
|
||
----------------
|
||
|
||
1. Create new project.
|
||
```bash
|
||
heroku create pragy-psych
|
||
```
|
||
1. goto https://pragy-psych.herokuapp.com/ to find nothing
|
||
1. add git
|
||
```bash
|
||
git init
|
||
git add .
|
||
git commit -m "Init"
|
||
```
|
||
1. add heroku remote
|
||
```bash
|
||
git remote add heroku https://git.heroku.com/pragy-psych.git
|
||
```
|
||
1. Deploy
|
||
```bash
|
||
git push heroku master
|
||
```
|
||
1. Error: Push Rejected - invalid target release: 11
|
||
1. Create **system.properties**
|
||
```java
|
||
java.runtime.version=11
|
||
```
|
||
1. Add, commit & deploy
|
||
1. Goto https://pragy-psych.herokuapp.com/dev-test/
|
||
1. Goto https://dashboard.heroku.com/apps/pragy-psych to see your stuff
|
||
1. Note: it auto adds postgres free account
|
||
1. See the logs
|
||
```bash
|
||
heroku logs --tail
|
||
```
|
||
|
||
-- --
|
||
|
||
Make the models
|
||
---------------
|
||
|
||
|
||
-- --
|
||
|
||
Test
|
||
----
|
||
|
||
https://pragy-psych.herokuapp.com/dev-test/
|
||
https://pragy-psych.herokuapp.com/dev-test/questions
|
||
https://pragy-psych.herokuapp.com/dev-test/populate
|
||
|
||
|
||
-- --
|
||
|
||
Post Lecture
|
||
------------
|
||
|
||
Restore
|
||
|
||
[Google Docs – create and edit documents online, for free.](https://docs.google.com/document/d/1J1t-TFA-aw9ZS89LI4guAJ-muJeGTQ_BQB6Fan-zrk4/edit#)
|
||
[YouTube](https://www.youtube.com/watch?v=8cSYhtKzlhE) |