diff --git a/.gitignore b/.gitignore
index b02a1ff7..71258c57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,10 +8,12 @@ pnpm-debug.log*
lerna-debug.log*
node_modules
+.env
dist
dist-ssr
*.local
package-lock.json
+todo.md
# Editor directories and files
.vscode/*
diff --git a/README.md b/README.md
index 41ebece2..79ba318e 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,45 @@
-# Happy Thoughts
+
+
+
+
+
+
+# 💬 Happy Thoughts
+
+A social message board app where users can share short positive thoughts, ❤️ like others', and edit/delete their own posts. Built with full CRUD functionality and user authentication.
+
+---
+
+## 🔗 **Project Access**:
+
+🚀 [Live Demo](https://happy-thoughts-blr.netlify.app)
+📚 [View API Documentation](https://your-api.onrender.com/)
+
+## 🛠 Technologies Used
+
+- Frontend: React, Vite, Zustand (state management), MUI (Material UI)
+- Backend: Node.js, Express, MongoDB, Mongoose
+- Auth: Access tokens with protected routes and user-based permissions
+
+---
+
+## 💡 Features
+
+- Register or log in to post a thought
+- Like others' thoughts ❤️
+- See your own thoughts marked as `"✨ Yours"`
+- Edit or delete your own posts
+- Logout safely with feedback via Snackbar
+
+---
+
+## 📌 Future Improvements
+
+- 🌈 Add Lottie animation in the header
+- 🌓 Theme toggle (dark/light mode)
+- 🗂️ Paginate thoughts or infinite scroll
+- 🔐 Expiring access tokens or JWT
+
+### 🤝 Contributing
+
+Got ideas or want to improve the app? Fork the repo, create a branch, and open a PR!
diff --git a/index.html b/index.html
index d4492e94..b2c4dc67 100644
--- a/index.html
+++ b/index.html
@@ -2,15 +2,27 @@
-
+
+
+
+
+
+
+
+
+
Happy Thoughts
+
-
-
+
+
diff --git a/package.json b/package.json
index 2f66d295..abf8dfb8 100644
--- a/package.json
+++ b/package.json
@@ -10,14 +10,24 @@
"preview": "vite preview"
},
"dependencies": {
+ "@emotion/react": "^11.14.0",
+ "@emotion/styled": "^11.14.0",
+ "@mui/icons-material": "^7.1.1",
+ "@mui/material": "^7.1.1",
+ "dotenv": "^16.5.0",
+ "moment": "^2.30.1",
"react": "^19.0.0",
- "react-dom": "^19.0.0"
+ "react-dom": "^19.0.0",
+ "react-icons": "^5.5.0",
+ "styled-components": "^6.1.17",
+ "zustand": "^5.0.5"
},
"devDependencies": {
"@eslint/js": "^9.21.0",
"@types/react": "^19.0.10",
"@types/react-dom": "^19.0.4",
- "@vitejs/plugin-react": "^4.3.4",
+ "@vitejs/plugin-react": "^4.4.1",
+ "babel-plugin-styled-components": "^2.1.4",
"eslint": "^9.21.0",
"eslint-plugin-react-hooks": "^5.1.0",
"eslint-plugin-react-refresh": "^0.4.19",
diff --git a/public/happy.cloud.png b/public/happy.cloud.png
new file mode 100644
index 00000000..b3b12915
Binary files /dev/null and b/public/happy.cloud.png differ
diff --git a/public/pixel-heart.png b/public/pixel-heart.png
new file mode 100644
index 00000000..e0038017
Binary files /dev/null and b/public/pixel-heart.png differ
diff --git a/pull_request_template.md b/pull_request_template.md
index 154c92e8..e6fd37c3 100644
--- a/pull_request_template.md
+++ b/pull_request_template.md
@@ -1 +1,5 @@
-Please include your Netlify link here.
\ No newline at end of file
+Please include your Netlify link here.
+
+Deployed site: https://happy-thoughts-blr.netlify.app/
+
+Github: https://github.com/Bianka2112/js-project-happy-thoughts
diff --git a/src/App.jsx b/src/App.jsx
index 07f2cbdf..3d4e0aba 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,5 +1,28 @@
-export const App = () => {
+import { useEffect } from "react"
+import Form from "../src/sections/Form"
+import Header from "../src/sections/Header"
+import { Loader } from "./components/Loader"
+import { GlobalStyle } from "./GlobalStyles"
+import { MsgBoard } from "./sections/MsgBoard"
+import { useThoughtStore } from "./store/useThoughtStore"
+
+const App = ({ toggleTheme, mode }) => {
+
+ const fetchThoughts = useThoughtStore((state) => state.fetchThoughts)
+ const loading = useThoughtStore((state) => state.loading)
+
+ useEffect(() => {
+ fetchThoughts()
+ }, [fetchThoughts])
+
return (
-