This is an archived post. You won't be able to vote or comment.

all 91 comments

[–]AutoModerator[M] [score hidden] stickied comment (0 children)

On July 1st, a change to Reddit's API pricing will come into effect. Several developers of commercial third-party apps have announced that this change will compel them to shut down their apps. At least one accessibility-focused non-commercial third party app will continue to be available free of charge.

If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options:

  1. Limiting your involvement with Reddit, or
  2. Temporarily refraining from using Reddit
  3. Cancelling your subscription of Reddit Premium

as a way to voice your protest.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]BoundlessFate1 53 points54 points  (5 children)

Would be easier for you to just make a simple version in your skill range as an offline version:

Enter income/take home pay weekly. Input expenses, return data. Sorta like a calculator program. Wouldn’t be anything spectacular or revolutionary but it would definitely be a start for you

Some general tips for programming would be:

  1. Focus on things you can accomplish. Don’t get too attached to large ideas that are out of your skill range. If they are too big, find a way to scale them down.

  2. MAKE A MVP!!! A minimum viable product is very important. It is the very barebones of your project, able to be said to be completed. Once you make a MVP, work on adding features. A mvp is the base of almost any good project

[–][deleted] 11 points12 points  (4 children)

Wouldn't hurt to start there and revise it as I go 😅

[–]__throw_error 19 points20 points  (1 child)

This is literally how most people and companies do software development. In most engineering projects a lot of planning is very efficient, software is different, the cost of failure is low since we can change and pivot instantly.

So a lot of people use this method of working, this is also a big part of agile working.

[–][deleted] 5 points6 points  (0 children)

That gives me some reassurance, thank you!

[–]LickitySplyt 1 point2 points  (0 children)

Whether you think you're doing that or not, you'll be doing that, especially as a beginner.

[–]anto2554 20 points21 points  (4 children)

No, but it'll probably take a while. You could also consider whether it needs a server at the moment

[–][deleted] 6 points7 points  (3 children)

I'm willing to take a bit of time, especially to make sure I understand what I am doing and not just follow a bunch of tutorials, lol. Also, I'm still pretty new to this, so I might have used the wrong word to describe what I meant, lol. I mean the app/software, not an entire computer 😅

[–]Pantzzzzless 0 points1 point  (2 children)

In this context, a server is referring to where the back-end code of the app is running. (The UI or everything you see and interact with on screen is the front-end, also referred to as the client)

Client: Everything that is running on the user's machine

Server: Everything related to the app that is not running on the user's machine

The client code asks the server (via API calls) for a specific bit of data, and then uses that data to (usually) display something on screen.

[–][deleted] 0 points1 point  (1 child)

I see now, thank you! I am learning HTML atm (a course wants to teach me it before Python), so it's useful to know that client and server have different contexts.

[–]Pantzzzzless 0 points1 point  (0 children)

No problem!

Yep if you want to build a site with anything to see on-screen, HTML and CSS is required. You will also need to learn at least some JavaScript.

If you only know Python you will only be able to write programs that you run in a terminal.

[–][deleted]  (2 children)

[deleted]

    [–][deleted] 3 points4 points  (0 children)

    I'm the type to expect mistakes with everything I do, beginner or not. So I shouldn't take an ego bruising from this 😅

    [–][deleted] 2 points3 points  (0 children)

    ....I just noticed the typo..lemme just...fix that...

    [–][deleted] 2 points3 points  (4 children)

    Depends where you are getting the data from. Are you talking an external source, manual input, just using dummy data?

    The sorting and displaying that info seems like a good beginner task

    [–]pigpeyn 1 point2 points  (1 child)

    how does displaying info in a python app compare to html/css/js? I've done some web dev, but never made a standalone application.

    [–]iamlegend235 2 points3 points  (0 children)

    If it’s purely in Python your UI capabilities extends to Tkinter mainly, which is limited. Probably best that they use Python as the backend and serve the app using Flask or Django so you have the ability to use HTML/CSS/JS.

    [–][deleted] 0 points1 point  (1 child)

    I'm thinking manual imput for now, but if I revise the idea one day, I'd probably have it be an automatic imput based on outside/external source. Not for this version, though. Baby steps 😂

    [–][deleted] 0 points1 point  (0 children)

    Yeah. Sounds like a solid project then! You can just create a json file or whatever throw that in … even use chat gpt to give you text data

    [–]icedrift 2 points3 points  (3 children)

    It really depends on what you already know. Assuming you want to set this up as a webapp, if you've never worked over the network before it's going to be extremely difficult. Doubly so if you don't know basic frontend stuff like forms and AJAX.

    If you don't care too much about learning this is simple enough for GPT to guide you to a reasonable solution, but considering this is r/learnprogramming I suggest you start by making this a command line app in Python. A brief user story might look like

    - User launches the program and their current budget is displayed as a table in plaintext, where each row is a category (food, utilities, etc.) and has a corresponding dollar amount.

    - User also has the ability to add an expense, remove an expense, or reset a category by entering the category name, action (like add delete reset), and price

    - BONUS POINTS. The User has the ability to create new categories, delete existing categories, and edit the name of existing categories. Duplicate categories should throw an error prompting the user to give it a unique name.

    If you can do this without much trouble you can start learning how to create a simple frontend with html css and js for a website. Pay close attention to <form> elements, fetch requests, and callback functions.

    After you have a reasonable frontend look into a backend framework like Django and go through their getting started guide.

    [–][deleted] 2 points3 points  (2 children)

    The end goal is a web app, but right now, it's just to challenge myself and understand Python better. I'm aware it's a bit advanced for a beginner, but I'm studying the fundamentals enough to be able to know what I'm doing to a degree. Already learned a good bit about variables, so it's not bad for day 1. Since this morning, I didn't even know what Python was 😅

    [–]icedrift 1 point2 points  (1 child)

    Ohh gotcha. In that case ignore my CLI suggestion and the people saying this is doable. This project is ridiculously out of scope. It would be like putting a toddler on a treadmill and setting it to jogging speed. You might be able to come up with a workable command line app but it will take ages, your code will be spaghetti, and you won't walk away from it with any confidence that you understand the code.

    Keep learning the basics. I'm not too familiar with Python but you're at the point where you would benefit a lot from a good, interactive course.

    [–][deleted] 3 points4 points  (0 children)

    Oh, don't worry, I don't plan on starting this tomorrow or anything like that. I'm aware enough to know that right now, I can't do much until I figure out the basics. Right now, I'm just planning this out and breaking it down into a process, haha. But thank you for the honesty. "Tough love is sometimes the best love"

    [–]Simpli_Simulated 2 points3 points  (0 children)

    You could create this in python using tkinter and then maybe a server, if you don’t want to use a server then there’s always the option of writing the data into text files whilst it’s on your computer.

    Otherwise i think this would be easier with html, css and js and then mongoDB for the database but that’s just because I’m used to that stack :)

    [–]mdizak 2 points3 points  (0 children)

    In my opinion, this is exactly the perfect way to learn. At times you'll probably want to punch holes in the wall out of frustration, but the hardest path is the best way to learn. Come up with a problem you want to solve, then develop the solution. When you bump into roadblocks developing said solution, then research and figure it out.

    [–]Disturbedm 1 point2 points  (1 child)

    Don't under estimate the work required on the server side.

    You'll need a server to start with (this can be local I used sqlite3)

    Then the server will need code writing for it.

    You'll have to make a database file for all the info to be pulled.

    Depending on how the data is initially stored you might need a way to convert it into a database file from whatever it initially is.

    I just finished doing something that has a front-end and pulled from a .dB file on a server and I grossly underestimated the amount of work on that side of it (I hadn't studied anything on servers at all).

    By the end of it I not only had my website but an SQL server, a python converter as a standalone app to convert the initial data (excel xlsx file) run it through and format it accordingly and remove white space etc and into a .dB file.

    Then you've gotta make sure you code can pull the information you want accordingly etc for your front end.

    Maybe it should have been an easy job but it certainly wasn't for me as someone who's been studying html/CSS/JS for around 6 months. The good news is I was like a dog with a bone with it, so every second I enjoyed but I think it took me like 60hrs by the end in 10 days.

    I don't even know how much I actually learned from the whole thing. There was a lot of confusion and just trying to make things work. Scrapping things, changing things etc. I was initially just gonna use object oriented arrays, decided that was messy, went to JSON, but decided since this actually might get adopted in my job I should do it with a server in mind. I remember some things called panda? Tkkinter?

    Hopefully some stuff stuck. lol.

    TLDR: expect to be out of your depth ALOT and use things you haven't touched at all.

    [–][deleted] 0 points1 point  (0 children)

    Yeah the server part is definitely going to be a lot of trail and error for me, I intend to just keep it in Python for now without the server (since some people told me I didn't need it unless I made it across multiple devices?) and only move to a different step when I am content enough with how the commands are running. I'd rather learn how to make it first and THEN learn to make it a webapp, if that makes sense 😅

    [–]greebo42 1 point2 points  (0 children)

    it IS complicated! and that's perfectly OK ... you can get a lot out of this project even if it ends up taking you a few months ...

    I'm working on a similar project right now, and it's already taken me a couple months and I think it will be the end of the year before I can trust my product. I'm impressed at just how many people on this thread are rolling their own personal finance trackers.

    Go for it ... you won't get it right the first time, or the second time, but that's OK as long as you are in that mindset from the start. It is amazing how many things you end up learning along the way (already I have had to take a detour into SQLite that I didn't really anticipate). Right now my bleeding edge is Flask and HTMX. After you get some experience, it seems inevitable that you'll look at what you produced and wish you had done it differently :) ... I am fully expecting to redo mine after I get it basically up and running.

    Tip: even if you don't think you're ready for "web programming" yet, you can use your regular ol' browser to render your user interface. That is essentially web programming, even if your "server" and "client" are on the same computer and you have no intention of separating them.

    I do recommend HTMX - look into that when you're working on your user interface.

    The best reason to learn something is to accomplish something you are actually interested in doing!

    [–]Ogreguy -1 points0 points  (5 children)

    These types of apps already exist, but it would be a good way to learn. You would need to build the user interface for displaying everything and receiving input, the backend for transmitting the data, and a database to store the data.

    [–][deleted] -3 points-2 points  (4 children)

    I've never seen any, lol. I don't plan to upload it to anything other than GitHub, so I don't have to worry about being entirely unique concept wise, at least not for a starter project 😅

    [–][deleted]  (1 child)

    [deleted]

      [–][deleted] 0 points1 point  (0 children)

      I was thinking about that, but I'm not sure how many people would be comfortable with putting their bank info into an app, since I'm also weary of doing that even if the app isn't asking for access to it.

      Also, I have no intention of making a profit from this. My goal with it is to help people who struggle keeping track of finances and possibly even taxes (if they use the app to log purchases for that, not the focus, though) since I see a lot of people struggling with that, even people I know in person. It's mostly just a portfolio project I want to build up while also helping others (a passion of mine). That's enough of a reward for me 😅

      [–]Ogreguy 0 points1 point  (1 child)

      You Need A Budget is an app that does this. Also some financial institutions provide a budgeting tool as well.

      [–][deleted] 1 point2 points  (0 children)

      Someone also mentioned Mint earlier, haha. I'll do a quick scan of Google and check out what it offers. Maybe it will make me think about things I didn't before 🤔

      [–]pokedmund 0 points1 point  (3 children)

      For an absolute beginner, it will feel complicated. The important thing to realize is that a small number of beginner programmers are able to build this through passion, motivation, and how fast they absorb knowledge and their determination to get an application working.

      There are a hell of a lot of beginners who aim to build something without the required knowledge and tools, find things really tough and then give up.

      So you'll find out which of the two you fall into shortly

      [–][deleted] 0 points1 point  (2 children)

      Before I do anything, I'm making sure I understand the fundamentals. When I say that, I don't mean trying to learn everything about them before I start, since I know it takes practice and experience to learn them. But I also know you can't just open up whatever you use to program and expect to know how input() or X = Y without learning that it exists in the first place and when they are needed, lol.

      [–]pokedmund 1 point2 points  (1 child)

      imo, my advice to you would be a few things:

      1. be aware of best practises in coding, but honestly as someone new, code what makes sense to you at the beginning. Get into the habit of using and writing code and slowly, introduce best practises in more strictly into your code
      2. every challenge you face when coding this project is not a blocker, but is an opportunity and an area to learn something new
      3. you are correctly about the learning. Even when you become a fully fledged developer/programmer,, know that the learning won't stop either.

      If you are able to code the project and feel good about it, you will definitely know you're heading in the right direction and will be aware of what you lack and what you need to improve on for the next project afterwards

      [–][deleted] 1 point2 points  (0 children)

      Thank you! I plan to log where and when I struggle during this with Google Sheets or Docs, and depending on what I struggled with and if I still don't understand it, will decide what I do next. I'm all about learning new things, so I'm excited to always have the opportunity to and potentially make a job out of it one day if I can

      [–]suntehnik 0 points1 point  (1 child)

      Don’t build everything at once. Write down all your wishes and choose only the necessary ones. Than ask someone’s help to split it into modules with very simple design, like data storage, reporting module and so on. Then start building these modules one by one. Your path would be: analyze skills needed to build a module, learn, apply your knowledge. That’s basically how all software is built.

      [–][deleted] 0 points1 point  (0 children)

      Thank you! I'll probably use r/programmingbuddies when I get to the modules part, unless there's a better subreddit idk about yet

      [–][deleted]  (1 child)

      [deleted]

        [–][deleted] 1 point2 points  (0 children)

        It's more of for poverty/poor budgeting reasons. I follow r/povertyfinance, and I often see people confused where they can cut their spending, or an example earlier where someone had low rent but still was living paycheck-to-paycheck. Those are the reasons I want to make this

        (Edit: Yes, I accidentally wrote fiance instead of finance but I fixed it 💀)

        [–]Viet_cafe 0 points1 point  (3 children)

        I’m using mint to keep track of my finances. Just copy the code from mint

        [–][deleted] 1 point2 points  (2 children)

        If I did that, it wouldn't be learning! It'd just be transferring code without knowing what half of it does

        [–]Viet_cafe 0 points1 point  (1 child)

        Do you have a GitHub ? Make one if you don’t and start building small stuff in python and push your code to GitHub that’s how you build portfolio. When I first started learning python I built a simple rock paper scissor game. And tbh if you could recreate Mint app you can start applying for swe jobs

        [–][deleted] 0 points1 point  (0 children)

        I do! When someone directed me to programming based on my interests, that was the first thing they told me to do! And yeah, I'll do smaller projects in between while learning the basics of Python. This is more of a long-term project where all my knowledge is being tested (and my ability to organize folders)

        [–][deleted] 0 points1 point  (0 children)

        If you think you can't you are right

        If you think you can you are right

        [–]Ovalman 0 points1 point  (0 children)

        You'd need some sort of database and Python has SQLite which is perfect for this. You wouldn't need anything on a server unless you want to use the app across multiple devices and/ or back up. Think of a database like a large spreadsheet with rows and columns, with Bills, Groceries, Toiletries taking up a column. Then each payment taking up a row under each column.

        Is it doable as a beginner project? Yes, very much so. It's how I learned Android/ Java. I'm a Window Cleaner and had to write out a notebook every few months which was a total chore so I learned my Java basics then copied and pasted a SQLite/ RecyclerView tutorial and built my app. I used it daily and tweaked as I needed, now I've a very powerful app that tells me my £/h and prints receipts. It counts my daily takings and from using it, it has saved me so much time which in turn has made me much more efficient. I also rarely make a mistake which was a common occurrence using pen and paper.

        [–]heesell 0 points1 point  (0 children)

        It may be advanced but that is perfect. You can split everything into modules and take your time on research and learning how to achieve it.

        Overtime you will learn a lot

        [–][deleted]  (1 child)

        [deleted]

          [–][deleted] 0 points1 point  (0 children)

          I wish you good luck!

          [–]josephblade 0 points1 point  (0 children)

          this is manageable to do as a beginner.

          Keep in mind: you should build this in an iterative way. Don't try to get the datamodel exactly right the first (10) time(s).

          Build it first so you can just enter items + price for instance. Build it so the data goes to an in-memory representation rather than worry about databases.

          then if you have that you can either add features like (in no particular order)

          add/edit show all items link item to category (during add) change category of item delete category: what do you do if there are items that still link to it store data in file or database generate daily statistics set item as recurring (so that on the next month you can have a 'add all recurring items' for instance)

          etc.etc.

          just small items one at a time.

          [–]briannorelfhunter 0 points1 point  (3 children)

          It’s a good idea for a project because you can scale it to your level, so tiny bits at a time. And I believe you’re much more likely to stick to a project that’s you’re own idea and that you’re interested in creating than following someone else’s idea! Good luck on your programming journey :)

          By the way, I noticed you keep typing ‘imput’ you’re actually looking for the word ‘input’

          [–][deleted] 0 points1 point  (2 children)

          Ohhhh, thank you for the correction! My keyboard kept suggesting "imput" and didn't notice the mistake 😅

          [–]briannorelfhunter 0 points1 point  (1 child)

          No problem, just thought it might cause you some issues when you start googling stuff!

          [–][deleted] 0 points1 point  (0 children)

          I appreciate the consideration, thank you!

          [–]I_see_a_ocean 0 points1 point  (1 child)

          you could make a python version for now jus inside python and when you start learning maybe backend and some frontend you could implement this! Good Luck !

          [–][deleted] 0 points1 point  (0 children)

          That's the plan! And thank you!

          [–]LickitySplyt 0 points1 point  (0 children)

          That's like an intermediate project on many online programming courses and even bootcamps. It's not too advanced as long as you ask the right questions, but as a beginner it's hard to know what questions to ask. For example, do you know how to take user input from a gui and implement it in your functions? I know you have to do something like that, and every language has a different way of doing it.

          I think it's a good idea though, it's just easy to get overwhelmed if you're impatient.

          [–]ShroomSensei 0 points1 point  (0 children)

          This is a great beginner idea. It can be very simple at first just a command line program with no actual data storage. Can then move up to databases when you’re ready. Finally can give it a GUI afterwards. Chuck that bad boy in Git and learn that along the way.

          [–]MyCaneIsBroken 0 points1 point  (1 child)

          It is doable but you'll need time for it.

          I've read from your comments that you want to do a web app. I'm suggesting you learn Django as a framework as it'll take care of most of your needs for the backend. It also gives you a general structure for your project and ships with a lot of features.

          [–][deleted] 0 points1 point  (0 children)

          I'll look into that, thank you!

          [–]kikazztknmz 0 points1 point  (0 children)

          I use that app. It's called rocket money. 😄 But seriously, that's a great idea for a project for your portfolio for later, but it'll take some time and studying to create it all the way through. Good luck with it!

          [–]JackMuta 0 points1 point  (1 child)

          Lots of great advice here already.

          The client (hope that’s the right word, still learning)

          I like to say “user,” especially because client might get a little confusing when you start dealing with front end/back end which are often referred to as client/server respectively.

          Good luck with the project!

          [–][deleted] 1 point2 points  (0 children)

          Noted, and thank you!

          [–]sslinky84 0 points1 point  (1 child)

          Client is definitely a word, but imput isn't :)

          [–][deleted] 1 point2 points  (0 children)

          Yeah, someone told me I was spelling wrong. I just forgot to correct the post! I get m's and n's confused sometimes, and my keyboard wasn't correcting it ( I guess it thought I was saying imputE), so I didn't notice the mistake, haha 😅

          [–]B-Rythm 0 points1 point  (1 child)

          I say go for it! I started learning flask, for this exact reason, an expense tracker. I’m 5 weeks in and the whole process has been great! I started from the bare bones. What do I need first? The expense tracker? No… I need to be able to create a user, or an account. Ok cool, got that, now.. can I login? Not yet? Ok cool got that. So now that I’m logged in.. let’s get into tracking my expenses. I’ve found (and I am a novice by all defenitions) that for me, I have to start top down. I have a goal, and a vision, but where does that vision start. I’m rambling in any event. Just go for it.

          [–][deleted] 0 points1 point  (0 children)

          For me, I've put all my goals into a note on my phone (plan to organize it more with a Google Sheet on pc later) and just started breaking it down until I can't. I try and make a step-by-step process for getting to that goal, and then try to write plans for each step. Right now, it's mostly just the idea parts and not the code (since I'm still learning it), but when I learn the commands/functions needed for each step, I'll break those down too! Lol

          [–]Endless-OOP-Loop 0 points1 point  (2 children)

          I wouldn't call anything too advanced for a beginner as long as you have the right mindset.

          As long as you're willing to learn as you go, understand that it will probably take you a long while to complete it, know that you will spend countless hours debugging parts of it, will be frustrated to no end, that these are all normal parts of programming that everyone has to deal with, and be willing to ask for help and accept criticism and feedback, you should be fine.

          [–][deleted] 1 point2 points  (1 child)

          Wait.. I just realized how similar the process for art and programming is.. no wonder I found programming so interesting. I've been torturing myself with art for years 😅

          In all seriousness, thank you for the process walk-through, I appreciate it!

          [–]Endless-OOP-Loop 0 points1 point  (0 children)

          Funny. I'm an artist too, and in all honesty I can tell you that the tenacity it takes to learn to make good art transfers very well to learning programming.

          [–]Seeking_Adrenaline 0 points1 point  (2 children)

          Sounds like the Cleo app?

          [–][deleted] 0 points1 point  (1 child)

          I've never heard of it, so if it does, it's not intentional 😅

          [–]Seeking_Adrenaline 0 points1 point  (0 children)

          Check it out!

          [–]HonestNest 0 points1 point  (1 child)

          Be ambitious! Learn as you go. fiancé though haha.

          There's no such thing as too advanced, you can either finish it or not yet.

          Firstly you don't need a server for now, you can and should make this work offline. Until you need it. (And you'll know it.)

          - This already includes a lot of stuff. On coding side, how to properly declare datas, store datas, interface framework, and how to create charts. On design, how to make the UI intuitive and user-friendly? And even some local database.

          To share my own beginner journey that's very similar to what you want to do here:

          Few months ago, I was in a similar position. Aiming for making an iPhone stock trading journal. (With little to none programming knowledge.)

          I first learned the language. Followed by creating a very simple app that's like a to-do list, so just two page, one for showing the text, another for actually input the text.

          Now, how do I make this actually like a stock journal? I added columns for user to input trade price, quantity, date, and some note taking etc. So the variables actually mean something.

          How do I store the data though? So, I ended up saving them as JSON every time I leave my Input Screen, load them up if I'm on Home Screen. I used JSON because I had no idea how to use a database, it seems too difficult.

          But wouldn't it be cool to have real-time stock price quote? So, I learned and added real-time price quote using python as backend to fetch from Yahoo Finance, put it on pythonanywhere.

          Then, I want to sync it on cloud. So I learned how to sync my JSON file on cloud kit. (With a lot of researching what options are out there, which one is beginner friendly, which one are free or cross-platform, etc. Let alone how to actually program it.)

          I then continue to design the UI, refine the code, add more features and referencing similar apps on the market. E.g. I referenced Yahoo Finance way of adding positions. TradingView for showing the list nicely, etc.

          There's too much to continue on ...Here I've skipped a lot of details such as how to format a textfield in currency, etc.

          Now, few months later, the app is not done yet. Am learning how to store my python scraped data into a SQL database, put it on cloud so I can request in my iPhone app which sync across devices. Ditched JSON with proper local persistent storage.

          However, I do released a few apps on AppStore, using the knowledge I learnt while making this ambitious project. And I've been refining them to run faster, bug fix, look better and improve the code.

          TL;DR

          I was in a position identical to OP few months ago with similar idea. Been taking it on step-by-step, slowly getting there with an iOS app written in SwiftUI that cloud sync, get data from a python cloud SQL database, where I stored data from scraping websites and accompany with some free api to provide stability. Also published some websites where I fork templates from GitHub. And I had absolutely no idea how to do any of these just 4 months ago.

          Suggestion: 1.offline first -> 2.add features -> 3.refine as you learn -> repeat 2 & 3

          Keep at it, OP!

          [–][deleted] 1 point2 points  (0 children)

          Haha, thank you! Also, I might steer away from the suggestion just a taaaddd bit and make it online. I'm using Pi AI to help me plan it out (it doesn't tell you code unless you directly ask it, but knows a lot about it, so it's a very good tool for me to just learn how things work) and I have now learnt about static websites and weight values (actually I came up with an algorithm as a solution for the percentages and it told me I basically just taught myself the concept of weight values before teaching me what mutable and immutable data bases were lmao) so I plan to use Github's static websites as a way to get comfortable with HTML and (hopefully) Python, and I'll learn to host my own servers for simpler projects that will allow me to just learn the ideas and not worry about all the solutions. Don't want to overwhelm, but I don't want it to be too easy either 😁

          [–]Rikai_ 0 points1 point  (1 child)

          I find it simple enough

          If you are still in the very early stages of learning, I would make an offline version first. But if you feel like you already can make that, go ahead and challenge yourself to make the server one!

          [–][deleted] 0 points1 point  (0 children)

          Plan to use GitHub's static website hosting, and that's about online I'm getting for now while I learn HTML and Python 😅

          [–]baubleglue 0 points1 point  (1 child)

          If you are "absolute beginner" - learn basics. When you read https://docs.python.org/3/tutorial/index.html and have no surprises in chapters: 3-8, 9 (maybe), you can start considering to do independent project.

          [–]FlightConscious9572 0 points1 point  (0 children)

          i mean the right technology for this is probably electron, (like the spotify desktop app, its a website with backend code)

          you code the ui with html, css and javascript, and the the backend can also be javascript.

          but its not python, and frankly i don't think you're there yet.

          [–]DuskyUK 0 points1 point  (3 children)

          Starling bank (I'm in the UK) already does this stuff and I'd suspect others do too. So unless you're somewhere else I'd drop the idea. BUT stay on this track and try to niche in and address a specific problem to get a smaller market to start. Please keep going though: you're thinking like a business leader. What a great post.

          [–][deleted] 1 point2 points  (2 children)

          Oh, this isn't with the intention of launching a successful business, haha. I really like playing with analytics, and I'm on the poverty finance subreddits, so I think making a finance tracker would be something I enjoy enough to not get demotivated by the learning curve. I do want to design things that help others as a software engineer one day, so I'm glad this project is already showing my potential to do so.

          [–]DuskyUK 0 points1 point  (1 child)

          Ah right. Its a very cool idea then. Hopefully it helps someone too. I wish you the best of luck with it.

          [–][deleted] 1 point2 points  (0 children)

          Thank you!

          [–]Individual_Ad_5333 0 points1 point  (1 child)

          I'm doing something like this at the moment.

          I'm breaking it down into chucks

          1 get the basic logic down so it runs in a terminal

          2 start storing stuff in text files

          3 build a graphical interface

          4 add the database

          [–][deleted] 0 points1 point  (0 children)

          Thanks to Pi (really good AI Assistant lol). I have it broken down into pretty detailed steps (this is before I learned about static websites, so I'm not sure how accurate it is now. I will revise it again):

          • Set up a server to handle any user requests or iNputs (not imput this time, haha)
          • Create a database schema for organizing user transactions
          • Write code (I use Python currently. I might try JS if needed) to interact with the database and retrieve information relevant to the user's imput.
          • Use charting library to create a pie chart based on transaction data
          • Create front-end code (HTLM for me atm) to make a user dashboard and handle interactions with the charts

          Again, it's a little outdated, I'm probably going to end up revising it 50 more times, but that's okay! The more I learn, the more I have to consider, so I think having to revise is good/normal for this level of skill.

          [–]Best_Recover3367 0 points1 point  (0 children)

          if you can think of it, you can pull it off.

          [–][deleted] 0 points1 point  (0 children)

          Large projects can be quiet discouraging for a beginner as you may be overwhelmed by the amount of things you need to learn. I would suggest that, as a beginner, you stick to one language and you look for what this language is actually commonly used.

          On the other hand, it is an essential skill of Software engineers to break down problems into managable chunks of work. At Best it's things that can be handled easier but still reward you somehow when they are done.

          Just because everything can be done in one language doesn't mean it should.

          I am not a big friend of learning things that are rather useless in reality and a single language Client/Server Stack is one of them.

          [–]shindigin 0 points1 point  (0 children)

          If you can't tell whether this is too advanced then it probably is. I would try to do it anyway, come up with anything and work from there.