My First Full Stack Project... With a Partner!
Tags: digitalcrafts, fullstack, beginners, webdev
Published: 2022-08-05 16:16:00

It's been about ten weeks since I stepped through the (virtual) door at [DigitalCrafts](https://www.digitalcrafts.com/) and began an undertaking I can only describe as a unique learning adventure. Every new brick in the foundation of my knowledge had been building to something I couldn't quite see yet. And then... full stack. Our first full stack project was simple. In one week, create an interactive website that utilizes a database of our own making. It must utilize the four basic functions of programming (create, read, update, delete or CRUD for short); it must be secured using sessions and encrypted passwords; it must have multiple tables with at least one join table; and we must use node.js, express, a template engine, and sequelize. Bonus, I get to work with a partner! Easy right? Well ok, so it was a pretty big project for a fledgling developer that didn't know a thing about databases until last week. 

Luckily, I had the good fortune of working with Andrea Tran ([DEV.to](https://dev.to/eyyytran), [GitHub](https://github.com/eyyytran)). Andrea has vision and when she decides something should work a certain way, she is unrelenting. She will work tirelessly day and night on a single aspect of a project until she is satisfied.. and her standards are high. 

Day one, Andrea and I began to plan our project. We had lots of ideas but ultimately decided that a project board type website, like [Trello](https://trello.com/), would give us plenty of room to explore multiple aspects of database manipulation. As a tribute to our knowledgeable and VERY patient instructor [Joe Frasier](https://github.com/jwfrasier), we decided to call the project "Trelljoe". Andrea graciously agreed to design the frontend as well as take the lead as project manager, and I would be in charge of creating the backend database and server. We had a list of things the site absolutely must have: user accounts, project boards, tasks with progress designations, and a guest session so people could try it without the tedium of creating an account. We also had a long list of things that would be nice to have, ranging from styling to functionality, if there was time. We were up against the clock after all. 

With the broad strokes decided we began to cobble together the larger pieces of the project. I worked on getting an accessible  database, with tables and seed data, as well as a functioning server with the basic CRUD routes for each table, while Andrea worked on the design, function, and user stories. As project manager, she also communicated what tasks would be a priority to allow us both to do our respective parts in tandem. As the project took shape, the tasks before us became more specific and we made use of the project management website Trello. Oh the irony. Every morning we would have stand up with our classmates, where Andrea would give an update on our progress, the agenda for the day, and any blockers we expected to encounter. After a few days, and a few freak outs, we had a mostly functional website. I began testing and fixing bugs, while Andrea decided what features from our wish list we had time to implement. When the time was right, Andrea made the decision that we were ready to deploy a staging version of our website to [Heroku](https://herokuapp.com/). We continued work right up until the deadline, analyzing and tweaking every aspect to make the project the best it could be.

This project was a lot of fun to work on. There were moments that were less fun, like when we tried to implement a new feature that broke everything and we had no idea why. But the experience was in the journey. I personally learned many valuable (and hard) lessons about version control. I found backend creation and management to be a bit trickier than frontend due to the lack of obvious feedback. If given more time, Andrea and I would make this the feature rich site that we know it could be. We're definitely proud of the the work we did. We have both discussed continuing to work on it just for good practice, and to have something nice on our portfolio of course. You can take a look at our site at [Heroku](https://trelljoe.herokuapp.com/) and checkout the repo at [GitHub](https://github.com/eyyytran/DC_Backend_Project).


![Trelljoe Homepage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7hghdqoeev0qxppcfr5h.png)

![Trelljoe Project Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tpzhrzy85prt5emyddmm.png)


![Trelljoe Mobile](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1uiglkbtue8j59indf7k.png)