Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

SQL/PHP Website with user accounts and file sharing

 

Hi!

 

I want to create or look into creating a website for Files sharing, with user accounts that can logg in and see their specific files and nothing else.

 

I have some experience with HTML/CSS as i have made a few basic websites before, nothing spectacular think early 2000's

 

Basically i wanna see what it takes and if i'm able to do it 🙂

 

I put SQL and php in the tilte as i assume that's what i need to make something like that. If someone could please point me in the right direction i would appreciate it!

 

 

123 for door giveaway!

Link to post
Share on other sites

This is a massive question, the answer to which spans several areas of technology.

For starters, you may want to consider your use-case and why you want this capability. If it's to share files in a small community of friends or colleges, then the likely best solution is to buy some "off the shelf" solution like a NAS that can have user accounts configured for all users. Or a shared organization on Google cloud.

 

If you really have to have a custom solution, or the goal is not so much the functionality, but to the learn about tech, then I'd suggest starting off with some general education in the software field. Get on Udemy or Pluralsight and go through some basic PHP, Python, React, HTML etc courses to give you a foundational knowledge of how website design and construction works from both the front end and back end. Alternatively there are remote education coding "bootcamps" that can give you a 6 month to a year crash course in software development.

 

Some considerations to a custom solution:

 

Software requirements:

1. You have to build a user interface

2. You have to build a backend interface to handle interactions between your front end and your data storage

3. You have to configure the proper type of data storage tech for your use case.

 

Infrastructure Requirements:

1. You have to have hosting(self or a service) for your front end code and backend code to be accessible via URL(online)

2. You have to have backend hosting for your data storage, be it a file blob type storage, a basic file system like a VM, or a database

3. Both of the above two things can be costly. Charges will be incurred in an increasing scale proportional to your bandwidth usage, and disk space usage, as well as the volume of computing resources that you need to make the service responsive to however many users you intend to have.

4. If you self host EVERYTHING then cost can be reduced, but home internet connections are never good enough to service more than a few dozen users max, and likely less since file sharing is bandwidth intensive.

 

Ultimately, this is a very costly and time consuming undertaking.

 

If you still want to go about building this yourself, then I strongly suggest starting with one of the educational platforms and getting a bit more breadth of knowledge on all the related topics.

 

Link to post
Share on other sites

I am a professional web dev, I operate various websites for a local college. Your project is actually something that's somewhat close to something I'm working on. It's a secure way for a satellite office to share data with people at the main campus. Though it's not designed to require user accounts, and is designed to encrypt everything.

 

I'd say this is a HUGE undertaking for someone with no practical programming experience, you may want to start with something smaller. If you're dead set on it though, I'd suggest looking into docker + laraval. You can set up a local development environment and go from there.

Link to post
Share on other sites
19 hours ago, Zicco2 said:

 

Hi!

 

I want to create or look into creating a website for Files sharing, with user accounts that can logg in and see their specific files and nothing else.

 

I have some experience with HTML/CSS as i have made a few basic websites before, nothing spectacular think early 2000's

 

Basically i wanna see what it takes and if i'm able to do it 🙂

 

I put SQL and php in the tilte as i assume that's what i need to make something like that. If someone could please point me in the right direction i would appreciate it!

 

 

So it's just for fun not for actual real life scenario then yes PHP and MySQL is enough. You can use php to upload file locally to the web server and store in MySQL the path and who it belong to and just stream it back. You could also use FTP with different account for easier distinction between users.

 

If you want to a real life scenario and account for hacking and security flaws then it's a bad option to reinvent the wheel. You can have ready to go solution at a fraction of the cost and everything is already done for you. Something like a basic Synology NAS at 150$ is very basic and does what you need. I do not know anyone who can build a full user systems + website + security in under 10 hours at minimum wage which is roughly equal to the price of the NAS. I assume it's a 4-5 weeks project so ~3k salary at min wage (and you still have to buy the Storage)

Link to post
Share on other sites
23 hours ago, Zicco2 said:

 

Hi!

 

I want to create or look into creating a website for Files sharing, with user accounts that can logg in and see their specific files and nothing else.

 

I have some experience with HTML/CSS as i have made a few basic websites before, nothing spectacular think early 2000's

 

Basically i wanna see what it takes and if i'm able to do it 🙂

 

I put SQL and php in the tilte as i assume that's what i need to make something like that. If someone could please point me in the right direction i would appreciate it!

 

 

I would use prewritten source code and just modify it if I were you. But if you have your heart set on doing it yourself w3schools have some great php tutorials on how to make accounts etc...

Link to post
Share on other sites

@AaronThomas Thank you for your answer i will deffinetly check out Udemy and Pluralsight! I understand that this is i huge task, but i want to learn more about webdesign and filesharing over websites.

 

@zushiba 

Quote

I'd say this is a HUGE undertaking for someone with no practical programming experience, you may want to start with something smaller. If you're dead set on it though, I'd suggest looking into docker + laraval. You can set up a local development environment and go from there.

I understand that it's a huge undertaking, I really want to start learning. You're right i probably should start with something smaller, but i feel since it's a huge project i will learn a lot. I will deffinetly check out Docker and laraval!

 

@Franck It's just for fun, but i would like it to resemble the real deal as much as possible, at least look into what type of security would be best etc.


@Daniel Wells What do you mean by prewritten code? Thank you! I have been looking at w3schools 😄

123 for door giveaway!

Link to post
Share on other sites

As a hobbyist myself I played around with scratch PHP, and aside the whole language discussions is the most important thing that you start SOMEWHERE instead of countless days of hesitation of choosing the BEST language or framework.

 

Personally I would chill on Docker for a while and start writing some code! Docker is awesome im a huge fan with limited knowledge but somehow get it working.

But the learning curve is there, I tend to try to learn multiple things at once that aren't even bound to eachother. I lose days setting up my 'dream' production environment without having even a real app to publish. Best advice I could give after having walked your road is to focus on the prior thing of Coding something and see if you enjoy it really 😄

 

Watch some beginner scratch PHP stuff before diving into a framework, and IF you do dive into a PHP framework then I highly suggest Laravel too!

But mainly because of a guy called Jeffrey Way running https://laracasts.com/ 

You are gonna love his content, yes its payed but you will never regret it.

Pretty a few series are free: https://laracasts.com/series/laravel-8-from-scratch/episodes/1

 

Maybe don't rush towards your project but learn to take steps before you start to run.

Don't get me wrong, you need a project to be excited about to boost that will to learn.

But always start at the actual start, you see enough titles like "No coding experience want to make own Operating System"

 

The Laravel community is amazing tho, so much good learning content!

Quote or mention me if not feel ignored 

Link to post
Share on other sites
15 hours ago, Zicco2 said:

@AaronThomas Thank you for your answer i will deffinetly check out Udemy and Pluralsight! I understand that this is i huge task, but i want to learn more about webdesign and filesharing over websites.

 

@zushiba 

I understand that it's a huge undertaking, I really want to start learning. You're right i probably should start with something smaller, but i feel since it's a huge project i will learn a lot. I will deffinetly check out Docker and laraval!

 

@Franck It's just for fun, but i would like it to resemble the real deal as much as possible, at least look into what type of security would be best etc.


@Daniel Wells What do you mean by prewritten code? Thank you! I have been looking at w3schools 😄

By prewritten code I meant like browsing github or other repositories for source code that you could use and modify. I often find that seeing something finished and then picking apart to create what you want is often a very good way to learn and understand a language.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×