Skip to content

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) and JavaScript.

Notifications You must be signed in to change notification settings

rv2442/Cloudbased_filestorage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cloud Storage Web Application with FaceRecognition as 2F Auth

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).

Making SCloud work on your Device (Pre-Reqs):

  • Installation:
  1. Visual Studio 2019 Community
  2. Python 3.7x or above
  3. 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:
  1. Create a gmail account.
  2. 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)
  3. You need to enable 2f auth on it and create an application password add that to the code as password.
  • Setting up the Database:
  1. 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.
  2. 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 🤞

Demo

image

Making Scloud Highly Available

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.

image

Demo of Infrastructure Build

image


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.

About

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) and JavaScript.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published