SCloud is a cloud storage system where you can store data and share it to any user connected to it.
You can also have 2 factor authentication to protect your data by face recognition.
This project was built in Microsoft Visual Studio Code by using C#(ASP.NET), Javascript and Python(Face Recognition).
- Installation:
- Visual Studio 2019 Community
- Python 3.7x or above
- Windows IIS 10 (I haven't tried this on linux but there must be some way to host it on linux too).
- Extensions: (Optional as the folder named packages already has it)
ASP.NET AJAX Extenstion (NuGET Package)
- Service Email ID:
- Create a gmail account.
- Open SignUp.aspx.cs and put its email and application password instead of "SERVICE_EMAIL", "PASSWORD" (NOTE: Application password is different from the usual password of the user, application password is used by apps to access an email for sending or receiving)
- You need to enable 2f auth on it and create an application password add that to the code as password.
- Setting up the Database:
- Put your MSC SQL Server database credentials wherever you find
Server=YOUR_SERVER_IP;uid=USER_ID;pwd=PASSWORD;database=DB_NAME
use project search to find and replace all.- The SQL Query below is used to create a table on MSC SQL Server Database where SCloud will store it's user's data.
create table cloudlogin(
username varchar(100) not null unique,
password varchar(100) not null unique,
email varchar(100) not null unique,
secretkey varchar(25) not null unique
)
create table Cloudlogin_2FactorAuth(
username varchar(100) not null unique,
status_2f varchar(25) not null
)
Once the above is done then SCloud must be hosted using Windows IIS 10 and things must work 🤞
Project deployment was through Azure, I deployed the webserver on 2 Vms having a common disk shared via a failover cluster using Azure AD DS, on top of that both of the Vms are in a Availability Set.
For this we tuned the Infrastucture a little bit, so Infrastructure and Features/Configs are:
a)Solution will be hosted on 2 Machines.
b)Vms be connected to a Load Balancer.
c)Will use Remote SQL Server.
d)Vms will use a Shared Disk.
e)Azure Active Directory Domain Services (Vms joined to Custom Domain taken from Name.com)
f)Vms will be configured as a failover cluster.
g)Vms will be placed in an Availability Set.
We are looking for open source contributors to help us make the UI better, if you wish to contribute towards this please move over to discussions and tag me (@rv2442) while mentioning about the same. I'll be reviewing your previous works and based on that, will be adding you on the list of collaborators.