You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Tech used:** React, Express / Node.js, Mongoose / MongoDB, Redux Toolkit, RTK Query, React Router, Material UI, and Vite
13
+
**Tech used:** React, Express / Node.js, Mongoose / MongoDB, JWT, Redux Toolkit, RTK Query, React Router, Material UI, and Vite
14
14
15
15
## Optimizations
16
16
@@ -22,15 +22,17 @@ Future versions will add the ability to comment on others' posts, the ability to
22
22
23
23
Even though there's so much more to learn, I feel like I've learned a lot while working on this. Here's a prototype from just a few months ago <https://fso-3-express.onrender.com/>. What a difference!
24
24
25
-
I learned how to create a server with Node.js and Express, which helped demystify what a backend is. I learned about routing, middleware, HTTP requests and responses. I learned about environment variables and keeping them secret. I learned how to connect to MongoDB, and I learned about building schemas and models with Mongoose in order to help interact with MongoDB.
25
+
I learned how to create a server with Node.js and Express, which helped demystify what a backend is. I learned about routing, middleware, HTTP requests and responses. I learned about environment variables and keeping them secret. I learned how to connect to MongoDB, and I learned about building schemas and models with Mongoose in order to help interact with MongoDB. I learned about using JSON Web Tokens, which I definitely want to learn more about. I'm sure my app's security could be improved.
26
26
27
-
I built the frontend with React, using Vite. For more advanced state management, Full Stack Open teaches Context and Reducers, as well as Redux. Then it teaches Tanstack Query to fetch and cache data.
27
+
I built the frontend with React, using Vite. I learned about managing client state in the generic way. For more advanced state management, Full Stack Open teaches Context and Reducers, as well as Redux. For communicating with the server, it teaches how to use Axios. Then it teaches Tanstack Query to fetch and cache data.
28
28
29
-
After learning Tanstack Query, I decided to use RTK Query instead. I was already managing state with Redux in order to learn it, and Redux seems to combine much more naturally with RTK Query than it does with Tanstack Query. RTK Query was a little challenging to learn, but it got rid of so much code that I would've needed in its place.
29
+
After learning Tanstack Query, I decided to use RTK Query instead. I was already managing state with Redux in order to learn it, and Redux seems to combine much more naturally with RTK Query than it does with Tanstack Query. RTK Query was a little challenging to learn, but it got rid of so much code that would've been needed in its place. Also, with RTK Query, I no longer needed Axios.
30
30
31
-
Then I learned about client-side routing with React Router. Finally, I learned how to create a responsive app by styling React components with Material UI. I had been neglecting CSS, so I was really happy to learn this aspect of it. For the future, I'd like to learn more about web accessibility.
31
+
Then I learned about client-side routing with React Router. I learned how to create a responsive app by styling React components with Material UI. I had been neglecting CSS, so I was really happy to learn this aspect of it. For the future, I'd like to learn more about web accessibility.
32
32
33
-
I definitely need to get better acquainted with branching. I currently have different versions of this app in different repos. In the future, I'd like to keep different versions within the same repo.
33
+
I learned how to test the backend with Jest. For the frontend, I used Vitest instead along with React Testing Library. I also learned how to use Cypress. Testing looks like another big subject that I'd like to get a better handle on.
34
+
35
+
With Git/GitHub, I definitely need to get better acquainted with branching. I currently have different versions of this app in different repos. In the future, I'd like to keep different versions within the same repo.
0 commit comments