DEV Community

Cover image for Personal Training Website Project
Christian
Christian

Posted on • Updated on

Personal Training Website Project

❓ Why Do I Do This?!

Hey y'all, Chris here. I've started a new project for my Wife's work. I want to document this journey and share my experience, thoughts, learn to write posts and mostly motivate myself to be more productive xD (you all have been there dont judge xD).

🧙‍♂️ Who Is This Wizzard?

Long story short, I'm a Back-end developer working with PHP (yes, PHP) for the past 3 years. Last year around December I've decided to start learning Javascript in depth (not just touching something here and there) and got into React. With this project and the stack that I've chosen, I will not only develop a Fitness app, but also learn new technologies.

By sharing my thoughts with you I will be open to any suggestions/critiques that you can throw at me with much love <3.

So far I will be using the following:

👨‍💻 Back-end Part Of Things.

I will be using PHP with the Laravel framework and a PostgreSQL database that will help me persist my beautiful data. I had hard time choosing between PostgreSQL and MySQL but feel that this will be the better choice in the long term. Additionally, I am also considering implementing a Redis server for caching and persisting my chat system information. Right now everything is being developed with Docker containers.

🚝 About The API

I will be using the TDD approach (Test Driven Development) with PHPUnit. This will help me develop my app with more confidence and test my endpoints with ease. Most likely I wont even need to use a Rest Client like Postman.
Most of the time I will write Feature tests, I don't feel the need of Unit testing for now.

For documenting I will use Swagger and Github Project Boards for task/project managing.

🧑‍💻 Front-end Part Of Things.

For this I've chosen to work with "The React Framework
for Production" - NextJS, cuz you know, I will need a strong SEO optimization for the website. Also I may try to implement Typescript or Flow I still need to check what will be more beneficial (Feel free to share your thoughts). Since I'm not good at HTML / CSS, responsive and all that fancy things, I will most probably use a theme from theme-forest.

I would love to know what kind of stuff you’d like me to share in future posts.

  • Different implementations of the functionality by code?
  • Database Design?
  • Testing Features?
  • Just my thoughts?
  • Project structure?

Or anything else?

Discussion (4)

Collapse
christiankozalla profile image
Christian Kozalla

Sounds awesome!
I'm coming from the frontend, and like to explore backend development. So I tried Laravel some weeks ago. It was running in a Setup called "Sails" that was slowing my machine down. Would you mind sharing your Laravel environment with docker? 🙏

Another question I had in mind: Laravel is an MVC Framework, but I suppose your using it as a Rest API only. What made you decide against, for example, using Blade templates?

If your looking for something responsive out of the box I'd suggest a component-based CSS framework like Bootstrap

I'm excited to learn more about your experiences with that project!

Collapse
christianvasilev profile image
Christian Author

I was going to try "Sails" also but I had some issues with it and got frustrated, so I did a fast setup with Docker (nothing special). I sure will share my configuration on a detailed tutorial soon.

Yes, I'm using it as a Rest API. There is another framework called Lumen. It's also created by the laravel developers but it's more lightweight and it's makde specially for API's. I was thinking of integrating React into Laravel, but I will plan on making a Native App aswell. This App will need to communicate with a API. So instead of making it with blades. I've decided to make it with API calls. I was also thinking of using Livewire but yea.. Doesn't fit my plans.

I've used bootstrap long ago, but I want something more professional looking, this si why I've decided to buy a good looking design that fits my needs xD.

Also I've really liked the idea behind Tailwind CSS.

I'm happy to read about your excitement. I hope you will enjoy the journey as much as I do.

Collapse
fakeheal profile image
Ivanka Todorova

Awesome idea! Maybe you could share what are the endgoals of the journey in later posts? What the app is about? Looking forward to your posts!

Collapse
christianvasilev profile image
Christian Author

I sure will. The next post will be mainly on the first version of the app and the functionality with the end goal.