FAC-Tube is a website where members of the FAC community (applicants, current cohorts, alumni) can easily find and recommend useful coding YouTube videos.
Many thanks to our project & role mentors, the FAC team and our code reviewers π
- Miro & Figma for Wireframing π¨
- Material UI for CSS components π
- Next.js with React.js for front-end & back-end π
- Supabase for our Postgres database & Authentication π
- Cypress for Testing π²
- Vercel for Deployment β‘οΈ
See our deployed version on Vercel here
- Run the code locally
Clone the repo
cd
into the folder and run
NPM install
then
NPM run dev
π How to analyse a problem we believed our users were facing
π How to conduct user research to test our assumptions in that process
π How to create a prototype based on that research
π How to test our prototype with users
π How to make adjustments to our prototype based on user feedback and identify an MVP
π How to plan two build sprints to make that MVP
π How to set up a Supabase database and access it using Next.js functions such as getServerSideProps()
π How to query the YouTube API with a user generated search term and display the results on the page πΊ
π How to find and install relevant packages from NPM e.g. ReactPlayer π§©
π How to handle user authentification and login using Supabase
π How to use Material UI to write our CSS
π How to handle insertions and updates to our database based on user input
π How to render different UIs depending on whether a user has logged in and who the user is π©π»βπ»
Our wireframes in Figma
Our MVP is based on the features our user research had identified as the most important π
It has a home page with a community video library that is sortable by most liked
a user can search YouTube
a user can view and update their profile
a user can add a video to their library
a user can view their added videos in their library
a user can like a video
π A user should be able to apply tags to a video depending on topic, video features etc
π A user should be able to see who has liked a video
π Users should be able to view each other's profiles
π A user should be able to add a video to their library with just a YouTube url
π More resuable code/components
-
Learning new technologies π
-
Length of project π
-
Understanding the scope of the project - what was possible and what not to build
Our Kanban board with time estimations and labels based on issue type and priority
β Daily stand ups
β Frequent merge and code review
β Swapping over work on challenging areas and sharing knowedge
β Asking questions - of mentors and in Help and Solutions
- Setting up Next.js with initial Vercel deployment
- YouTube API search feature π
- Like button component π
- User login/sign out and authentification
- CSS with Material UI
- User can view and update their profile
- User can view their library and add a video to the library
- User can like a video which increments the likes counter and is stored against their user id
Lots of bugs!
- Fetching from a Supabase database using async functions was tricky to render on the page using React
- Customising Materials UI was harder than expected
- Our YouTube API key often maxxed out
- Vercel sometimes gave us errors in deployment that were not apparent in development