Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mizukiokushima/nodejs_6th
Node.jsの基礎学習です。
https://github.com/mizukiokushima/nodejs_6th
Last synced: 24 days ago
JSON representation
Node.jsの基礎学習です。
- Host: GitHub
- URL: https://github.com/mizukiokushima/nodejs_6th
- Owner: MizukiOkushima
- Created: 2024-08-17T09:40:18.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-20T14:12:55.000Z (4 months ago)
- Last Synced: 2024-08-21T12:02:54.617Z (4 months ago)
- Language: JavaScript
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Nodejs_6th
Node.jsを使用してサーバーサイドとデータベースのアクセス連携を試す。
- Postmanにてリクエストを送信
- Node.jsにてサーバーサイドを構築
APIの構築: Postmanから受け取ったリクエストからPostgreSQLへデータ要求しPostmanへデータを返す
- SQLの基礎学習## 使用環境について
Postman
クライアント側からリクエスト送信に使用するアプリ
Node.js v22.1.0
サーバーに使用する
PostgreSQL
DBに使用## 環境構築
package.jsonファイルの生成```
npm init -y
```
express, nodemon, pgのインストール
nodemon 保存する度にサーバーをリロードしてくれるモジュール
pg PostgreSQLとNode.jsで作成したサーバーを連携するモジュール```
npm i express nodemon pg
```
dotenvのインストール
を環境変数を使用し保守性を高める```
npm i dotenv
```
package.jsonのscriptsに以下の内容を追加
```
"scripts": {
"start": "nodemon server.js"
}
```
.envの作成
```
touch .env
```
.envに以下を記載```
# PostgreSQLのパスワード
PG_PWD=[PostgreSQLのパスワード]
```
## PostgreSQLの基礎操作
SQL Shell(psql)からターミナルを起動
各問にreturnキーで進めるPostgreSQLにてDB作成
```
postgres=# CREATE DATABASE users;
```
作成したDBに接続
```
postgres=# \c users
```
usersテーブルの作成
```
users=# CREATE TABLE users (
ID serial primary key,
name varchar(255),
email varchar(255),
age int);
```
作成したテーブルの確認
```
users=# \dt
```
```
List of relations
Schema | Name | Type | Owner
--------+-------+-------+----------
public | users | table | postgres
(1 row)
```レコードの登録
```
users=# INSERT INTO users (name, email, age)
values ('hogehoge', '[email protected]', 25),
('testUser', '[email protected]', 34);
```
```
INSERT 0 2
```
レコードの取得
```
users=# SELECT * FROM users;
```
```
id | name | email | age
----+----------+--------------------+-----
1 | hogehoge | [email protected] | 25
2 | testUser | [email protected] | 34
(2 rows)
```
## PostmanにてGETとPOSTを試す
### GET
![GET](https://github.com/user-attachments/assets/20b33e9d-7646-4b0f-8745-57170c1fdca4)
### POST_SUCCESS
![POST_SUCCESS](https://github.com/user-attachments/assets/be7c3218-b6ca-46cc-98c3-8e830f2d0287)
### POST_ERROR
![POST_ERROR](https://github.com/user-attachments/assets/7666917d-4fb4-46d7-a4ed-95d6fa0cd02a)
### DELETE
![DELETE](https://github.com/user-attachments/assets/f0252a1e-1e44-48b3-8c58-932e7633c5ab)
### PUT
![PUT_BEFORE](https://github.com/user-attachments/assets/6c183054-c9c9-4f1c-a6e9-64865bf34437)
![PUT_AFTER1](https://github.com/user-attachments/assets/7dd9efb6-1303-4282-a0ae-2d66d14372d6)
![PUT_AFTER2](https://github.com/user-attachments/assets/7252c1dd-ba77-4414-9d44-67677d9adf88)
![PUT_NOTHING](https://github.com/user-attachments/assets/8ff5ec27-3ef3-4007-bfcc-e7ffb5cc5fc9)