- create-react-app includes => .gitnignore, npm init -y, and basic src folder structure
- axios
- react-redux
- redux
- redux-promise-middleware
- react-router-dom (BrowserRouter)
- react-icons (/fa)
- http-proxy-middleware
- src/
- components/
- Header/
- header.js
- header.css
- Profile/
- profile.js
- progile.css
- MessageDisplay/
- createMessage.js
- createMessage.css
- messageDisplay.js
- messageDisplay.css
- Header/
- App.js
- App.css
- index.js
- reset.css
- ducks/
- store.js
- reducer.js
- components/
- home => /
- profile => /profile
- message => /messages
- createMessage => /create-message
- catchAll => '*' ('page not found')
const initialState = {
user: null,
messages: []
};
- express
- massive
- .env
- express-session
- bcrypt
- server/
- index.js
- controller/
- messageController.js
- authController.js (logging in, user data, bcrypt)
-
auth
- login => /api/login
- register => /api/register
- userInfo => /api/user
-
message
- getAll => /api/messages
- postMessage => /api/messages
- putMessage => /api/messages/:id
- deleteMessage => /api/messages/:id
- users
create table users (
user_id serial primary key,
username varchar not null,
email text not null,
password text not null
)
- message
create table messages (
message_id serial,
message text not null,
user_id int not null references users(user_id),
time_entered date default now
)
- .env
SESSION_SECRET=
SERVER_PORT=
CONNECTION_STRING=