Git Product home page Git Product logo

beeruva's Introduction

Beeruva

Beeruva is a self-hosted file hosting system. For organisations or individuals who'd like to store their data on their own private cloud open drive helps them manage their files on their server.

Description

Beeruva provides

  • Safe and Authorised access to users files from anywhere (provided you have access to the server)
  • Intuitive interface to upload, download,rename and delete files

Upcoming Features

  • File Sharing
  • Encryption
  • On the fly compression
  • File upload options to object storage services like s3 from aws
  • User Logs for admins
  • Drive statistics
  • File preview
  • Android/IOS app to access your data from anywhere
  • Responsive Interface to access the files from mobile browsers
  • Error Monitoring

Product Screenshots

alt text

alt text

Setup process

Prerequisites

Supported operating system's

  • mac
  • linux

Database

  • sqlite3

Languages Used

  • Python,

  • Angularjs

ORM Used

  • SQLAlchemy

Python packages used

  • flask

  • flask-admin

  • sqlalchemy

  • enum

  • requests

  • flask-login

Installation

Create a virtualenv

virtualenv venv

Activate virtualenv

source venv/bin/activate

Install python packages using setup.py, run the following command

python setup.py

Once this is done, using models build the db and place the file in crud folder using the following commands

python models/models.py

Move the file from db model from models to crud

mv beeruva.db ../crud/

After this, we are ready to use the tool run the following command

python app.py

This will run the server on port number 5000,open browser and search for http://localhost:5000

Contact Details

For any further queries and assistance to setup the drive for your organisation you can mail me on [email protected], you can also raise an issue and I will get back to you as soon as possible

Endpoints and descriptions

Filename app.py

functions

deletefile(*args, **kwargs)
    Function to delete a file by fileid

getfile(*args, **kwargs)
    Function to check access of a user to a given function.

loginauthorisation()
    Function to authorise a username and password against the credentials
    present in the database and redirect the user to home page.

logoutpage(*args, **kwargs)
    Function to logout user and redirect them to the login page.

newfileupload(*args, **kwargs)
    function to upload user to server.

onboardingpage()
    Function to render the onboarding page.

onboardingpagewithnotification(notification)
    Function to render a login page with a notification

register_user()
    Function to onboard the user on to the application.

render_registrationpage()
    Function to render the register page where the user is onboarded.

render_searchpage(*args, **kwargs)
    Function to render the search page.

returnfiles(*args, **kwargs)
    Function to return list of files uploaded by the user.

Filename app.py

functions

addfile(fileid, actualfilename, currentuser)
    Function to store file data in db.

Filename read.py

functions

check_access(fileid, currentuser)
    Function to check users access to the requested file.

listofilesuploaded(currentuser)
    Function to return list of files uploaded by a user.

Filename: delete.py

functions

deletefile(fileid, currentuser)
    Function to delete filedata from the database.

Navigating through the application

Webpages

  • url:'/'-This is the login and registration page you can signup or sign in to the platform using this page

  • url:'/home'-This page has features to add, delete and download the files the users have uploaded

Features

  • login: enter username and password to login to the application

  • logout: click on logout button at the bottom on the left pane

  • upload: click on an upload button and upload mulitple files at once

  • delete: right click on the file to get delete option

  • download:to download the file click on the download button below the file

  • rename: to rename an uploaded file, right click on the file and click rename

  • info: to get information about the file, right click on the file and click info

Development Log

Access development log at tymline.co/opendrive

Scope of Improvement

please raise issues or request feature changes via the issues section in github

beeruva's People

Contributors

kunchamharsha avatar sutanshuraj avatar

Stargazers

Kaan Mutlu avatar nav avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.