My first fully functional web app is here!
Tags: javascript, beginners, webdev, django
Published: 2020-08-26 03:39:49

*Play golf, disc golf or foot golf and create your personal scorecard to compete with friends! Easy to use, easy to share. Visit [myscore.golf](https://myscore.golf)*

#What it's about
So what do you do when unexpectedly, everything but parks in your town is closed? If you answered: go to a park and play disc golf, we are in the same boat. You go there and you take a piece of paper and a pen to follow yours and your friends' scores. After a couple times a little imaginary bulb lights up over your head. The idea is here. Let's track it them on your phone. Golf score trackers online? Many. But then you find that they add features you will never use and they want you to pay. You want a simple tracker though. What do you do? Build one!  
![](https://dev-to-uploads.s3.amazonaws.com/i/7lce7fqbda8r9yxisbx4.png)
As the idea was there, I got to work. Django, jS, SQL are things I've learned before, so I had no other choice than use them. Nobody minds a little practice. A friend said, don't use Bootstrap, you'll learn more about CSS. Say no more. After 5 weeks, the website is here. Built from scratch. Mobile-friendly and intuitive. The goals I had in mind were: make it look good and don't over-complicate it. It went well. Well enough to share it. You tell me what you think!
![](https://dev-to-uploads.s3.amazonaws.com/i/43li5c5fjua18a28yc3s.png)
My plan now is to find people who will use it. And again, it's not for people crazy about golf that I don't know much about. But hey, mini-golfers! Disc golfers! Foot golfers! I have something for you! And even if not, it was a learning experience and I will use it with my friends, so nothing goes to waste!

#What I found
It's been a journey and learning process. Many libraries, extensions, properties and tools I used for the first time. Things happened to me for the first time. Let's see...
- Bought first domain and first domain was 'stolen' from me: The first part of this statement is actually a half-lie. I used to have a domain, but the first year was free, so technically I didn't *buy* it. Let's talk about the second part that is more interesting. My app was supposed to be called MyScores instead of MyScore, but when I was shopping around and checking prices for that domain, I went to GoDaddy and... of course never bought from them, but the next day when trying to buy from name.com I found it had been taken! Quick look at whois.net showed me this:
![](https://dev-to-uploads.s3.amazonaws.com/i/p64yabpmmxo87rz3ql69.PNG)
Well, GoDaddy, I never asked you to register what I searched for... I'll be more cautious next time.
- Practiced creating elements with different display and position properties: Words like *flexbox*, *sticky*, *absolute* became my friends. A website describing the rules that apply to them turned out to be my most visited website in the last couple weeks.
- Used Axios and Promises for the first time: And what an experience it was. This is a crucial functionality of my web app. I couldn't make it work without asynchronous functions. What I found out about them? They take time to understand and it doesn't come easy.
- Found that Prettier doesn't get along with Django tags: Decided to use Beautify instead. As Prettier seems to be way more popular, I'm not done with it. I'll give it a second chance.
- Got my first experience with Google Analytics: Oh, Google. When I watch your trackers I'm kinda scared. If this is what you know about my users, I'm afraid to think of what you know about me.

#Next steps
I like having goals even if I'm making them for myself. I write them down on sticky notes and put them on my laptop. This way they remind me every day what I should do next. So what are they currently saying?

####For the website:
- SEO: I'm totally new to this. It would be nice to see my page showing up in Google, not only when I put *site:myscore.golf* in the search bar. Organic traffic is the traffic we always hope for. That being said, let me know if you have tips and tricks for me.
- Figure out why my emails go to spam: Being new to things is not easy. I've never created a web app that would send emails to the users. I went with SendGrid. It wasn't difficult to make it work, but it's an effort to make it work well. When an email is sent to a GMail account, it always lands in the spam folder. Why? Still a mystery to me, but I will find out!
- New features: Practice, practice, practice. I have ideas of features I would like to add. The app works, but it's time to make it even cooler. Every new line of code is a way to learn.

####For myself:
- Continue learning jS: I was focused on building this web app, so the course on Udemy I've started had to wait. Udemy, we haven't seen each other for a while, but...
![](https://dev-to-uploads.s3.amazonaws.com/i/jat2r8saiq95ed5icrbt.gif)
- Build portfolio: Yes, the time has come. I was thinking about for a while, but felt like I didn't have enough to share. Now, when I have a fully functional web app that I'm proud of, it's time to do it.
- Learn more than just jS: The plan looks pretty straight-forward now. Two things on the horizon: Node and React. And my boat is headed that way.

See you in a flip.

![](https://dev-to-uploads.s3.amazonaws.com/i/gjuu9dr6504jxvc61wpn.png)

Find my code on GitHub: {% github https://github.com/lwolczynski/Scores-Tracker no-readme %}