Building the Foundation: Devlog Entry #1
Tags: webdev, javascript, startup, nextjs
Published: 2024-03-10 15:10:32

**Introduction:**
Hey everyone! Welcome back to another exciting update on the journey of my million-dollar SaaS Building. This week has been all about laying down the groundwork for our project, focusing on creating a solid base structure and integrating essential functionalities. Let's delve into the details!


**Project Overview:**
The Video Manager is a pivotal application facilitating seamless collaboration between YouTube content creators and their respective organizations. It empowers editors within the organization to upload videos, which undergo review and approval processes by the publisher or owner. Upon approval, the videos are automatically published on YouTube, streamlining the content distribution workflow.


**Progress Update:**

Wednesday, 06 Mar:
Today marked the creation of the base project, initiating tests for Google login and API communication using Next.js 14 alongside the app router. Additionally, I ensured all necessary credentials were set up on the Google platform.

Thursday, 07 Mar:
I encountered some initial confusion regarding the structure of Next.js 14. However, after dedicating time to understand the recent releases and brushing up on essential concepts, I gained clarity and resumed work effectively.

Friday, 08 Mar:
Progress was made as I delved into implementing Google login using Supabase and Shadcn UI with Next.js. Though it involved numerous trials and errors, I managed to lay down the foundation while also planning the application's data flow.

Saturday, 09 Mar:
Despite considering Drizzle ORM initially, I ultimately opted for Supabase for its suitability to our project's needs. After grappling with its setup, I also implemented email functionality with resend options and solidified the authentication flow.

Sunday, 10 Mar:
Today, I dedicated time to implementing the join flow and enhancing user-based permissions for OAuth. I categorized users into two types: organization heads and team members, tailoring permissions accordingly. This involved separate flows for each user type, particularly focusing on omitting YouTube access for team members.

Here is the Entire User onboarding Process Diagram


![Onboarding Process Diagram](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0cmwhjutyx17b4zbk0gk.png)

**Challenges Faced:**

Wednesday, 06 Mar:
Wrestling with the unfamiliarity of Next.js 14 and its app router setup posed an initial hurdle.

Thursday, 07 Mar:
Despite efforts to grasp React Server components, lingering questions persisted, impeding smooth progress.

Friday, 08 Mar:
The introduction of Supabase presented a learning curve, requiring thorough exploration of documentation to understand its setup.

Saturday, 09 Mar:
Choosing between Drizzle ORM and Supabase proved challenging, though ultimately resolving in favor of Supabase. Additionally, navigating the setup for future database migrations posed a puzzle that was eventually solved through exploration.

Sunday, 10 Mar:
While not particularly challenging, implementing the join process for different user types with the same callback required meticulous handling, resolved through conditional checks.

**Future Plans:**
Moving forward, the next milestone on our agenda is to integrate video upload and collaboration processes seamlessly into our project.

> Feel free to share any thoughts or questions you have regarding our progress!