So I decided to challenge myself to build a full-stack application in 14 days...
Ok but why?
I decided to embark on this challenge because I wanted to use some new technologies I learned to build a cool project. 14-days is a decent amount of time to grind and a great way to test my skills as well as add a new project to my portfolio. So instinctively I looked for ideas. I stumbled upon App Academy Open and checked their full-stack courses to see if I can gain some insight on any project ideas that I can build. One of their modules is to create a full-stack application MVP in 10 days. Though I gave myself a couple of extra days because why not? App Academy gives a breakdown of the process of what we need to build.
The task
- Your MVP list should contain four key features for your app.
- App should be one from their list - I choose to find inspiration from wufoo.com
Key Feature set of my application
- Users can create, view, and edit forms that are viewable by other users via link. Other users don't need an account to fill-up the form.
- Share Forms
- Display Results
- Build various question types
- Bonus: Incorporate themes or code embeds for other developers to use.
I started to create a wiki on Github to begin the process of designing the entire application before I just start typing away. here is the link:
Core Technologies I will be using:
- Typescript
- Next.js
- Supabase
- Tailwind CSS
So what is day 1?
Day 1 was built surrounding the planning and designing stages. Coding is easy when you know what you need to do and the challenges you need to face. App Academy requires creating a wiki documenting your design and documentation of your initial plans. Check out the wiki. One example can be creating the schema for the database. Designing the database allows me to see how the application can interact with each other. If I have a form, there should be an instance of a user that created it as a simple example. Other things I also planned out are certain routes for the front end. Knowing what routes does what is important as each route is a specific piece of functionality for the application. The application has a couple of routes such as /build
which is the form builder route that will be the primary purpose for building each form.
With that said, this is day 1 of 14 and I am very excited to document my journey along the way!