Project Management
This is an application built using Next.js with Prisma on a Postgres database. I built the components using Material UI. It is modeled after a project management cloud application I have used.
I encountered a number of challenges with this project. I learned a ton about Next.js and deploying it in production, as well as working with the application locally and building with it. I enjoyed troubleshooting and learning new things!
My first challenges centered around building the application. I was able to get the credentials provider for NextAuth up and running and working with the project (I later had to abandon it because I couldn’t get it to work in production). I battled with Material UI and hydration errors (which I later found out had to do with my LastPass plugin). I used some complex logic to display time entries on the work page (which later didn’t work the same way in production). All these steps were a lot of fun to troubleshoot! I say this without sarcasm – I learned a lot!
I had never deployed a Next.js application on a Node server in a live environment. I’ve had to learn a lot about Ubuntu and installing packages that I needed for the project. I installed Node and used FTP to upload my files form the dev environment. I also had to install Postgres and set it up, and then connect to the Postgres database. I was able to do this from my local terminal and then troubleshoot, which made things easier.
One thing I learned is that a project behaves differently in dev than it does in production. I’m not sure if this is because I did some things incorrectly or because it’s just a true fact. As I mentioned above, authentication didn’t work, and the javascript I wrote to display time entries didn’t seem to work either. I had to make a lot of changes to the project and pair it down a lot from the original idea I had. I should have started with something smaller and worked my way up!