First off, let me welcome you to the forum, Welcome, bolelove! Now.. to answer your question... the following is my view, no way defined in stone.
Some people charge by the hour others charge per project, I personally usually charge by project - depending on the time it will take to complete, it's just a headache to have to explain each hour of work to someone unfamiliar with what you do. It's too easy for things to turn to complaints "why this/that" it's just not worth it - you're now stuck trying to put out fires instead of getting paid for your work. You still should itemize your invoice with each tasks done/delivered. It's easier to quote the project as a flat rate ahead of time, rather than to go back to a client with an invoice with unexpected hourly fees.
Website maintenance or updates is usually optional or an upsell, which can be a monthly fee for those that need lots of regular changes/updates monthly. Also, here you can charge an hourly fee for emergency or less frequent changes/updates. It's all about the time it will take for you to complete a task/project. How much is your time worth, how much do you want to make in a month and what amount of time do you want to spend working on a given project or past projects, and still have time to do maintenance? Divide that up and seriously think about it if you will have that time, as a solo dev, to give and also be fair to all your clients on your maintenance plan, think now and the future, when hopefully down the road - you will have lots of clients. You need free time too, so define your hours of operation. Be clear in explaining to a potential client, the differences between revisions, maintenance and updates. Maintenance is not reworking a website, updates is not adding new features. Adding new images, changing a banner, updating content? Ok thats cool. Rewriting code or reformatting a page. Nope, that's extra. At least that's me.
Some advice: When meeting with a potential client, it's a two way interview, a client is seeing if you're the person for the job, and you're learning if the client is going to be worth dealing with for the duration of the project. Personality, expectations and character all come into play. Most the time potential clients have a vision but, have unrealistic expectations, don't know what they want or how to get it. Its up to you to give yourself value, to convince the potential client that you can help solve their problem, be honest about what you know, but never say you don't know, it's always "I will find out that information for you get back to you". You need to make sure that the potential client understands what you do and what you can do for them.
Also, this is important (guilty of this myself); Never quote the project on the first meeting, unexpected things or purchases can come up, like having to learn something new, stock image costs, etc... So plan to have more than one meeting. The first meeting is all about the client, find out everything about the project. What is it for, what are the expectations, do they have a budget or just looking, etc. Set up the next meeting, ask if you're the first dev they met, if so encourage them to meet other developers, this way they get an idea of what others charge. Let the other devs burst the bubble they may have in their head. Second meeting is all about you; this is where you will present a proposal with solutions to their problems along with the itemized quote. This gives you the time to prepare, research and to really break down the project and see how it would be like working with this client.
How many revisions you will provide a client, what about if they need more? This is expected, they might not like the font-face or the menu bar size - is not how they envisioned. Put a limit on this, after the limit, add to invoice any additional revisions.
What do you charge if a client changes their mind, halfway in the project and now wants a complete re-do or is it included in the quote? If it's a simple site, a re-do may be no big deal but a more complex site... geesh!
What about editing images they provide or stock image costs? Will you provide the service or outsource?
When should they deliver all content needed to complete the site? Deadlines! You don't want to wait months to get paid on a project you completed already, just cuz they haven't sent the word doc with their homepage info.
What if you're half way deep in the project and they just decide to go with someone else, because their cousin will do it for cheap? Always get a non-refundable deposit before writing any piece of code!
Who is uploading the completed site to their hosting provider, will you need to register their domain and get them hosting too? Hopefully you will handle this, because they may unknowingly get a hosting provider with the wrong server configuration for the website you delivered.
What about new features they want later down the road, once the site is delivered, like adding a mailing list, social media or a widget?
Now, after each meeting, it is helpful and courteous to send an email to the potential client, summarizing the meeting's notes and be clear of what is expected from you and them, accountability and documentation. You don't want later down the road, to get into a "he said she said" situation and end up losing a client, regardless of who was right - you both lose. To me these things are more important than what to charge. Customer service, knowing your limitations, strengths and giving value to your time. If you get the project, Great! Get a non-refundable deposit upfront, keep your promises and build a working relationship with your new client.
Hope this helps, you can do this! keep it up and wish you the best.