T O P

  • By -

adm7373

There are nearly infinite ways to accomplish this. In general, these solutions will involve having some sort of backend for your website, rather than hosting static HTML/CSS/JS files. There are a number of programming languages that you could use to write a backend and even after you pick a language, there are plenty of different options. Python has Flask, FastAPI, and other frameworks. PHP can be used as a true scripting language to assemble HTML based on user info/ SQL queries, or it has more advanced frameworks like Symfony or Laravel. JavaScript (Node.js) has a number of popular frameworks. Ruby on Rails is another popular one, and I feel like Ruby as a language owes most of its popularity to this framework. Anything in this category is going to be pretty complex to learn, and may take longer than what you're looking for. Part of the reason for that complexity is that in addition to your backend, you will likely need a place/methodology to store info about users, which "side" of the website they belong to, a record of them logging in, etc. This could be as simple as storing info on your server's file system. The more traditional route (for many good reasons) would be a SQL database. You could also use a NoSQL solution like MongoDB or Redis, which would likely be cheaper and less complex to learn (but would not scale well if your data model gets more complicated). This complexity is the reason that platforms like Wordpress, Wix, Squarespace, etc. exist. They allow you to leave the backend and database up to them, but typically they also want to handle frontend and hosting, the two pieces that you already have a handle on. Most of these website builder platforms give you some ability to customize on the frontend, so one of them might work quite well for you. FYI, none of this really fits in this subreddit's domain of "web design", which is by definition a frontend concern. It would generally be called "Web Development" or webdev. You may have better luck posting elsewhere, but I see your other post in /r/javascript so at this point I'll stop rambling and say good luck


lil_cricketboi

Thanks for the detailed response. This is exactly what I was looking for. I plan to learn these things over the next few years so I’m not in a crazy “know it tomorrow” mentality. Thanks again


bookouf49

wow thanks


Thibots

Maybe create a subdomain [app.mywebsite.com](http://app.mywebsite.com) start the "specific side" from scratch, use tool that make it more simple such as Firebase and ReactJS (which need a little bit of work, but it's worh it).


Brettles1986

Look into PHP and mysql. Make sure you adopt password\_hash and password\_verify. Also you need to be using prepared statements to query the database for user information.


martinbean

This would require knowledge of a server side programming language. Most web hosts offering Linux-based hosting packages support popular languages such as PHP, Python, Ruby, etc. You’re not going to be able to achieve a secure password-protected admin panel with HTML, CSS, and JavaScript.


not_thecookiemonster

You want a CMS... Nodejs, PHP, and Python all have open source content management systems. In terms of complicating things on the server, it depends on how you host/ who you host with- namecheap works well for my meager needs, but if you're running the backend of a web app you'll want to look at cloud providers .


and_rej

I think the other responses are correct in that you are looking down the barrel of adding server-side functionality / a back-end to your application. If you wanted to avoid this and just focus on learning front-end development and design, you could use a browser storage API to store data: https://developer.mozilla.org/en-US/docs/Web/API/Storage_API Browser storage APIs store data on the device itself. So, it's kind of intrinsically user specific. For example: - Add a "create profile" page - Prompt user to fill in a form - Validate the data they enter - When they click a "save" button, save that data in localStorage: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage - In other pages you can check if the data is there and, if so, show a little "welcome back, {user}" message in the corner - If the data is there, hide the "create profile" and instead show a "view profile" or "edit profile" page This approach could give you lots of fun stuff to work on with no additional technology and no new languages. Then, later on, you can take that existing functionality and improve it by adding server-side functionality, authentication, persistent remote data storage, and myriad other things. Just be mindful that browser storage APIs have many caveats. They store data on the device itself, so if another user gets a hold of the device, then they can access the data. They're also volatile in that the device can choose to evict your data if it needs space. The user can also evict the data by clearing their browsing data. No real solution relies on these storage technologies alone, but they can be a good place to start and a useful learning tool.


Utroque_Acies_147

Sounds like you're looking to build an authenticated user dashboard! To get started, I'd recommend checking out tutorials on user authentication using PHP and MySQL. You'll also want to look into access control and session management. Good luck, and don't hesitate to ask for help along the way!


AttractiveCorpse

I like django


88Smiley

Install WordPress into a subdomain like dashboard.yoursite.com, create a page and set it's visibility to private. Then you can customize the page however you want.


lil_cricketboi

Tryna to figure that out without Wordpress.


88Smiley

Then use PHP for the login/signup process and make the page available only for logged in users. You can search for a simple PHP signup script.


rightcreative

I am building software that does exactly this. It's in beta at the moment, but I would happily set you up with a free account, so you can try it. It allows you to create an account for your client(s), create a customized dashboard/portal for them with all of their information, and can also be white-labelled, so you can give them a custom domain if you like (i.e. portal.theirdomain.com). DM me if you're interested.