Git Product home page Git Product logo

jean-louis-david / hexa Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hexaonelabs/hexa

0.0 0.0 0.0 41.29 MB

๐ŸŒ Censorship-resistant, tamper-proof and privacy compliant cloud solution, open-source, fully decentralized and built on top of InterPlanetary File System

Home Page: https://hexaonelabs.github.io/hexa/index.html

License: MIT License

JavaScript 0.64% TypeScript 67.91% HTML 23.05% SCSS 8.40%

hexa's Introduction

hexa - Decentralized Cloud Solution

Censorship-resistant, tamper-proof and privacy compliant cloud solution, open-source, fully decentralized and built on top of InterPlanetary File System (IPFS)

Project Description

hexa is a fully decentralized and open-source cloud solution which replace traditional cloud providers having centralized governance, cumbersome infrastructure, inadequate security and privacy measures with users datasets.

hexa is build on top of IPFS and inherits all the features of Blockchain Technology to emerge as an immutable, censorship-resistant, tamper-proof and privacy complient with user dataset.

Value Proposition

hexa integrat IPFS Core powered by Filecoin to enable users to store, manage and share their datas in a decentralized way. Few of the core value propositions are:

  • Increased User Adoption: Providing a smooth and intuitive process with seamless user experience to store, manage and share datas in a decentralized way will increase the adoption of IPFS and Filecoin.

  • Real-world utility: hexa provide a real-world utility for censorship-resistant, tamper-proof and privacy complient cloud solution by providing multi services composition that allow users to manage datas with total privacy and security controls of access by using Encryption and Decryption technologies to increase data acces security.

๐Ÿš€ Features

File Management
  • Create folder
  • Delete folder
  • Rename folder
  • Move folder
  • List files from folder
  • Search files in folder
  • Upload files to specific folder
  • Download file
  • Delete file
  • Rename file
  • Move file
  • Share copy file with public url link
  • Download page for public IPFS hosted file
  • Share copy file with custom access controls
  • Notify user from shared encrypted file
  • Preview file in app
NFTs Management
  • List NFTs from connected wallet
  • Preview NFTs detail information
  • Search NFTs by name
  • Filter NFTs by chain
Tokens Management
  • List tokens from connected wallet
  • List tokens from others wallet (watch mode)
  • Get realtime tokens price
  • Display tokens price 24h change in percents
Others
  • EVM chain support
  • Authentication with email support
  • Shared file Notifications
  • Data encryption with EIP-2844 standard
  • Files access control with wallet address
  • Desktop & cross platform support using PWA technology
  • Define IPFS service with user API Key

Technology Stack

  • IFPS Core Browser implementation of the IPFS protocol to manage files storage and retrieval to IPFS network
  • Pinata Default pinning CID service to pin files to IPFS network
  • Web3.storage Alternative pinning CID service available and configurable with user API Key
  • Ceramic Decentralized database to manage storage metadata files and user profile data
  • XMTP Decentralized messaging service to manage in app notifications and messaging
  • Ceramic 3id Connect Decentralized authentication service to manage user identity and Cryptography Access Control
  • Ethersjs Ethereum SDK to manage Web3 wallet connection and account management
  • Magic.link SDK to onboard users to web3 apps
  • Covalent Unified API bringing visibility to billions Web3 data points
  • Valist Software distribution tool to manage releases and updates hosted on IPFS

Usage & Installation

hexa is a web application that can be used in any modern browser.

You can also install hexa as a desktop application using Progressive Web App (PWA) technology by click install icon from browser url section or from options section of your browser. You can find more informations about PWA installation and specification here.

Distribution link to install hexa PWA application: https://hexaonelabs.github.io/hexa/

Development

  • Clone the hexa repository
  • Install dependencies using NodeJS and NPM
  • Install Nx Workspace CLI to manage workspace project
  • Provide environment variables in .env file (see Environment Variables section)
  • Run developpment server using nx serve command will open the hexa application in the browser
  • This project was generated using Nx Workspace.

Build

  • Run nx build:browser to build the hexa application for the browser as PWA.

The build artifacts will be stored in the dist/ directory.

Deployment

hexa is deployed automatically using Github Actions. Every commit to the main branch will trigger a new deployment.

Documentation

  • Run npm run docs:browser to generate the appplication documentation

The documentation will be generate in the dist/ directory. Open the dist/compodoc/browser/index.html file in browser to see the documentation as website.

Environment Variables

Environment variables are set in the .env file in the root of the project. The following file .env.example at the root of the project contains the list of environment variables used in the project with example values.

Environment variables can be update for each mode. Go to the environment folder and update the environment.{MODE}.ts file to change the environment variables for the desired mode.

Contributing

Thanks for taking the time to help out and improve the project! ๐ŸŽ‰

The following is a set of guidelines for contributions and may change over time. Feel free to suggest improvements to this document in a pull request!

See CONTRIBUTING.md

License

Project is Open Source and available under the MIT License.

Team

  • @fazionico - Nicolas Fazio

    Software Architect & Blockchain Developer

    Mr. Fazio is a software architect and blockchain developer with over 15 years of industry experience. He has worked on a variety of projects ranging from cloud enterprise software to blockchain applications focusing last 3 years exclusively in the Web 3 industry. He is passionate about building decentralized solutions and is currently working on the hexa project.

    LinkedIn: https://www.linkedin.com/in/fazio-nicolas/

Support

If you like this project, please consider supporting it by giving a โญ๏ธ on Github and sharing it with your friends!

hexa's People

Contributors

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