This is a recipe search, health fitness, community platform website. Right now, the live site is up on the front end and is fully functional to search for recipes, in particular ingredients. This is a project I am continuously building and I laid the foundations for the front-end. I will continually develop and add the back-end as I design. This is one of the most ambitious personal full-stack projects I have done. Because I am the sole developer and designer, I do not have a set release date. But I am not a gimmick software engineer with release dates, the project is done when it is done. I am excited about this project because the scope allows me to use a variety of technology and technique and to fully utilize TypeScript with NextJS (v.13) and other design patterns. The project is available to view in its current state and Github repository is public for viewing with further instructions.
I actually have started lifting more seriously after hiring a personal trainer last January. I have gotten compliments on my more toned body and weight loss since then. It has been an excellent outlet for me as I studied data structures & algorithms since I do not possess a CS background -- but I can confidently say, that I am on par with a CS student now that I have learned the fundamentals. For the uninitiated, this comprised of a lot of Leetcode, an industry standard testing for higher tech tier jobs in tech for software engineers. Ending that note with I believe I am a stronger software engineer and I write more meaningful code because of it.
As for the project, it is a health centric web application. I wanted a way to find recipes. The community portion comes in because friends and I will snap each other “sweat checks” at the end of our workout for accountability and I wanted to build a community social site like that. I am not following any tutorials aside from documentations and techniques. The designs are all my own and implementation as well. Which is why this project is taking long but I tend to use it to grow and talk about should I ever be in interviews or if someone questions the gap in my resume. Work and moves are being made; I assure you.
While not apparent to the end user, I am striving to make components reusable as possible. If you were to look at my Github the
Button.tsx and the
Toast.tsx is a very dynamic component. However, I do not want to overengineer components but I am trying something new with general buttons. The idea is to pass in data to make these components as dynamic reusable as possible with a schema.
Now for the end users, I would want them on the site to search for recipes. Later the community aspect will be added of friends, groups, sharing and saving recipes. But in it's most pure form this is a recipe look up web application.
I needed an API, preferably free, that had access to a large database of food, nutritional labels and recipes. I did think of MFP (MyFitnessPal). To be honest, I do not like the design of MFP, but looking to borrow some community features on there once I hook up the backend. But this is a web app I do not want users to mindless scroll through, I want to keep the recipe look up as straight forward and streamlined as possible. One of the first things you can do once you log in or view as a guest.
Development is in full swing. Ideally I want to get the MVP out where users, regardless if registered or not can utilize the recipe look up. I am still writing the user story and flows of this in between studying. Once this main feature is out utilizing the recipe look up, a live version of the site will be up. As I am building out each feature, I am already making it mobile responsive.
There is much system design I need to do before I implement the backend logic and database, but the foundational parts are there in the form of RHF (React Hook Form). When I am ready to incorporate a database and designed out a flow I can pick up from here.
This project is a capstone of sort of my TypeScript + NextJS + Node/ExpressJS. I am not following any tutorials and I am trying out new designs actively using Adobe XD. I am excited to how this project starts to grow and can update the journey for this entry. Both the github repository and live version of the site is available for prospective employers or tech leads checking me out is the Github repository. I will start incorporating official release branches when I feel an iteration is at a good spot and when I design and plan out the roadmap of this project. The scope is big enough to explore at my own pace and try new things.