Lecture_Notes/imperfect_notes/pragy/Project Building - Psych - Coding 1.md
2020-03-19 12:51:33 +05:30

143 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)