Building a production-ready full-stack web application with SAFE – 0

Building a production-ready full-stack web application with SAFE – 0

Hi to all,

You’re here today to hear about this new application that we’ll be building during the next few months.

F# Background

I’ve been introduced to F# by my old mentor during an internship back in 2016 and had the chance since then to work on multiple projects with it on projects such as

  • Leading a project where I integrated new hardware to use plate recognition in an Access Control software as a credentials
  • Built a non-finished game library for a tactical role-playing game
  • Built an automation tool generating custom UIs in WPF. It automated 89% of the grunt work and saved a total of 500 hours
  • Built a custom performance logger for .NET framework applications
  • Built a small e-commerce demo with F# and SAFE for 2 tech talks

I’ve had the chance to mentor a few developers to F# directly and I have given a few tech talks on functional programming using F# as a language.

The Idea

Let’s start with me saying for only that one time that I’m a sports and fitness enthusiast. Okay, I’m done now. You’ll never hear it again. Due to the passion I’ve mentioned earlier, I look for apps that could be beneficial for me. The problem with that is that the current market is flooded with apps and they’re either not a great fit (pun non-intended) or you got to pay for them which is just a no-no for me.

I’m the kind of individual that likes a challenge and I’ve challenged myself to build a free application with premium features. Here’s a small non-exhaustive list of features that will be in the platform:

  • Users can find pre-defined workout sessions to watch on the application
    • Workouts can be based on the number of workouts for a week
    • Workouts can be based for those who only have a short period in a given day to train (10, 12, 15 min)
    • Workouts can also simply target either lower-body, upper-body or full-body
    • Workouts can target general goals such as fat burning or muscle growth
  • In a workout, users will be able to choose one of the following:
    • Few repetitions and heavyweights
    • Using only their body-weight for their routine
    • Fatiguing their muscles with pyramid repetitions
    • Quickly and efficient workouts with super-sets
    • Varying the exercises of a routine to keep their body challenged
    • Choosing which part of the body to focus on such as a full-body workout with an emphasis on the torso
  • As a registered user, I can keep track of the custom workout lists that I create based on the videos that I like

Goals

In the process of building Spartan-Fhiit, I also wanted to write feedbacks on my journey to reflect on:

  • Developing a keen eye to craft better user interfaces and visualizations
  • Getting more comfortable with the React ecosystem
  • Getting to know the principles of system design for large-scale applications
  • Getting to know about containerization and deployment

Hopefully, this series may spark your enthusiasm and bring new software to life.

Topics

In this series of Building a production-ready full-stack web application with SAFE, I will talk about the items in my goals such as how the system was designed or the strategy I select for continuous integration or what specific aspects of a React features made me say yes, this makes sense.

Now that this is all set, for those who aren’t familiar with F# or SAFE for that matter, I suggest visiting the following links:

The next step will be discussing the design we’ll put in place to build such an application. Stay tuned 🙂

Kevin

One thought on “Building a production-ready full-stack web application with SAFE – 0

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s