The culmination of Encode Academy, the 8-week long Solidity course by Encode Club in collaboration with Extropy

Overview

Encode Academy | DAO: Real Estate & Renting

Encode Academy Banner

What is this?

This is the culmination of Encode Academy, the 8-week long Solidity course by Encode Club in collaboration with Extropy, we worked together in a group of 5:

The purpose of this project was to make us comfortable working together with other Smart Contract developers and follow a project from start to finish, taking care of everything:

  • Ideation
  • Planning
  • Frontend
  • Solidity/Smart Contract
  • Testing
  • Deployment

DAO Summary & Purpose

Usecase

The Government owns all apartments in a building/multiple buildings and wants to delegate management to the Tenants. Money is allocated by the Govt (optionally also by the Tenants) at regular intervals. The Tenants can propose issues and vote on them. If the vote passes, the required money is allocated to the task and made available to the Administrator to pay for required measures. Admin could be appointed by Govt or elected by Tenants.

  • Apartments are NFTized. Transferring represents selling, staking represents renting
  • Voting weight is proportional to renters' stake/value in the DAO

User Stories

Renter wants to:

  • Propose issues
  • Vote on issues
  • Contribute ETH to DAO
  • Elect admins

Admin wants to:

  • View issues
  • Block/Revert proposed issues
  • Withdraw ETH from DAO on passed issues
Comments
  • Frontend merge

    Frontend merge

    • metamask integration?
    • it works! (issue list)
    • corrected response parsing
    • more useDApp hooks
    • updated contract call
    • voting
    • merge
    • merge
    • Add Complete Issue

    Pull Request

    Submission Type

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Refactor/Cosmetic (non-breaking change which adds readability and/or simplifies the codebase)

    Checklist

    • [ ] My PR has an accurate/descriptive/correct name
    • [ ] My code follows the Solidity Style Guide
    • [ ] My code has accompanying tests to cover my changes (if needed, refactor is exempt and bugfixes may also be)
    • [ ] All new and existing tests passed
    • [ ] When merging this PR the commit message follows conventional-commits, e.g 'feat: add some feature'

    Notes for reviewers

    Related tasks

    opened by Hakonslie 1
  • feature/voteIssue with event and test

    feature/voteIssue with event and test

    • commit
    • forgot semicolon

    Pull Request

    Submission Type

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Refactor/Cosmetic (non-breaking change which adds readability and/or simplifies the codebase)

    Checklist

    • [ ] My PR has an accurate/descriptive/correct name
    • [ ] My code follows the Solidity Style Guide
    • [x] My code has accompanying tests to cover my changes (if needed, refactor is exempt and bugfixes may also be)
    • [x] All new and existing tests passed
    • [ ] When merging this PR the commit message follows conventional-commits, e.g 'feat: add some feature'

    Notes for reviewers

    Related tasks

    opened by Hakonslie 1
  • feat: Mint Apartments

    feat: Mint Apartments

    Pull Request

    Submission Type

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Refactor/Cosmetic (non-breaking change which adds readability and/or simplifies the codebase)

    Checklist

    • [x] My PR has an accurate/descriptive/correct name
    • [x] My code follows the Solidity Style Guide
    • [x] My code has accompanying tests to cover my changes (if needed, refactor is exempt and bugfixes may also be)
    • [x] All new and existing tests passed
    • [x] When merging this PR the commit message follows conventional-commits, e.g 'feat: add some feature'

    Notes for reviewers

    Related tasks

    opened by redrocket94 0
  • Feature/Complete Issue

    Feature/Complete Issue

    Pull Request

    Submission Type

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Refactor/Cosmetic (non-breaking change which adds readability and/or simplifies the codebase)

    Checklist

    • [ ] My PR has an accurate/descriptive/correct name
    • [ ] My code follows the Solidity Style Guide
    • [ ] My code has accompanying tests to cover my changes (if needed, refactor is exempt and bugfixes may also be)
    • [x] All new and existing tests passed
    • [ ] When merging this PR the commit message follows conventional-commits, e.g 'feat: add some feature'

    Notes for reviewers

    Related tasks

    opened by Hakonslie 0
  • refactor/Votes Are Enums

    refactor/Votes Are Enums

    Pull Request

    Submission Type

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [x] Refactor/Cosmetic (non-breaking change which adds readability and/or simplifies the codebase)

    Checklist

    • [ ] My PR has an accurate/descriptive/correct name
    • [ ] My code follows the Solidity Style Guide
    • [ ] My code has accompanying tests to cover my changes (if needed, refactor is exempt and bugfixes may also be)
    • [x] All new and existing tests passed
    • [ ] When merging this PR the commit message follows conventional-commits, e.g 'feat: add some feature'

    Notes for reviewers

    Related tasks

    opened by Hakonslie 0
  • refactor: issue arrays

    refactor: issue arrays

    Pull Request

    Submission Type

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Refactor/Cosmetic (non-breaking change which adds readability and/or simplifies the codebase)

    Checklist

    • [ ] My PR has an accurate/descriptive/correct name
    • [ ] My code follows the Solidity Style Guide
    • [ ] My code has accompanying tests to cover my changes (if needed, refactor is exempt and bugfixes may also be)
    • [ ] All new and existing tests passed
    • [ ] When merging this PR the commit message follows conventional-commits, e.g 'feat: add some feature'

    Notes for reviewers

    Related tasks

    opened by martinloesethjensen 0
  • fix: dApp Formatting & Smaller Bugs

    fix: dApp Formatting & Smaller Bugs

    Pull Request

    Submission Type

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [x] Refactor/Cosmetic (non-breaking change which adds readability and/or simplifies the codebase)

    Checklist

    • [x] My PR has an accurate/descriptive/correct name
    • [x] My code follows the Solidity Style Guide
    • [ ] My code has accompanying tests to cover my changes (if needed, refactor is exempt and bugfixes may also be)
    • [x] All new and existing tests passed
    • [x] When merging this PR the commit message follows conventional-commits, e.g 'feat: add some feature'

    Notes for reviewers

    Related tasks

    opened by redrocket94 0
  • Added Apartment Struct + mapping of the apartments and implemented ge…

    Added Apartment Struct + mapping of the apartments and implemented ge…

    Added the Apartment metadata struct + mapping of the apartments and implemented get ApartmentDetails function

    Pull Request

    Submission Type

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Refactor/Cosmetic (non-breaking change which adds readability and/or simplifies the codebase)

    Checklist

    • [ ] My PR has an accurate/descriptive/correct name
    • [ ] My code follows the Solidity Style Guide
    • [ ] My code has accompanying tests to cover my changes (if needed, refactor is exempt and bugfixes may also be)
    • [ ] All new and existing tests passed
    • [ ] When merging this PR the commit message follows conventional-commits, e.g 'feat: add some feature'

    Notes for reviewers

    Related tasks

    opened by bpolitiadis 0
  • feat: first implementation of frontend

    feat: first implementation of frontend

    Pull Request

    Submission Type

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Refactor/Cosmetic (non-breaking change which adds readability and/or simplifies the codebase)

    Checklist

    • [x] My PR has an accurate/descriptive/correct name
    • [ ] My code follows the Solidity Style Guide
    • [ ] My code has accompanying tests to cover my changes (if needed, refactor is exempt and bugfixes may also be)
    • [ ] All new and existing tests passed
    • [ ] When merging this PR the commit message follows conventional-commits, e.g 'feat: add some feature'

    Notes for reviewers

    Related tasks

    opened by twlyp 0
  • feature/issue get issues from status

    feature/issue get issues from status

    • feat: added IssueStatus enum for the Issue struct
    • wip: getter for the different status's + added two new arrays for the other status's

    Pull Request

    Submission Type

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Refactor/Cosmetic (non-breaking change which adds readability and/or simplifies the codebase)

    Checklist

    • [ ] My PR has an accurate/descriptive/correct name
    • [ ] My code follows the Solidity Style Guide
    • [ ] My code has accompanying tests to cover my changes (if needed, refactor is exempt and bugfixes may also be)
    • [ ] All new and existing tests passed
    • [ ] When merging this PR the commit message follows conventional-commits, e.g 'feat: add some feature'

    Notes for reviewers

    Related tasks

    opened by martinloesethjensen 0
  • feat: added `IssueStatus` enum for the `Issue` struct

    feat: added `IssueStatus` enum for the `Issue` struct

    Pull Request

    Submission Type

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Refactor/Cosmetic (non-breaking change which adds readability and/or simplifies the codebase)

    Checklist

    • [ ] My PR has an accurate/descriptive/correct name
    • [ ] My code follows the Solidity Style Guide
    • [x] My code has accompanying tests to cover my changes (if needed, refactor is exempt and bugfixes may also be)
    • [x] All new and existing tests passed
    • [x] When merging this PR the commit message follows conventional-commits, e.g 'feat: add some feature'

    Notes for reviewers

    Related tasks

    opened by martinloesethjensen 0
Owner
Oliver H. D.
Software Development, B.A Flutter Developer Currently employed at MonstarLab EMEA
Oliver H. D.
Solidity Quickstart is an extensive solidity guide for the solidity newbies out there.

?? Solidity Quickstart Solidity Quickstart is an extensive solidity guide for the solidity newbies out there. ?? How does it work? All the guides rela

Kira 8 Aug 6, 2022
Project developed as Capstone of Q4 Backend module of the Fullstack Developer Course of Kenzie Academy Brasil by the group @ezms, @Nafly09, @RafaelSchug, @victorlscherer, @Vinicius2m, @ManoelaCunha

✨ Quokka Services ✨ ?? Serviço rápido e sem preocupação! ?? O objetivo da nossa aplicação é diminuir a dificuldade que moradores de condomínios encont

Manoela Fernanda Girello Cunha 4 May 4, 2022
A hardhat solidity template with necessary libraries that support to develop, compile, test, deploy, upgrade, verify solidity smart contract

solidity-hardhat-template A solidity hardhat template with necessary libraries that support to develop, compile, test, deploy, upgrade, verify solidit

ChimGoKien 4 Oct 16, 2022
A professional truffle solidity template with all necessary libraries that support developer to develop, debug, test, deploy solidity smart contract

solidity-truffle-template A professional truffle solidity template with necessary libraries that support to develop, compile, test, deploy, upgrade, v

ChimGoKien 6 Nov 4, 2022
Full-stack-todo-rust-course - we are building this out now in prep for the real course

full-stack-todo-rust-course wip - we are building this out now in prep for the real course Plan Come up with the requirements Create user stories Desi

Brooks Builds 89 Jan 2, 2023
Course material for a ~10 hours introductionary course for Julia. Topics: Introduction, Parallel Programming, Data Science

Development We use Franklin.jl to generate the lecture material. To do so, simply activate the environment, use Franklin and run the local server: act

GregorE 3 Dec 15, 2022
This is a tool to mint stoned ape club.

publicMintTool This is a public mint tool for https://etherscan.io/address/0x984f7b398d577c0adde08293a53ae9d3b6b7a5c5 All pubic mint tools should be c

null 194 Jan 5, 2023
shields.io for Hack Club Bank

Hack Club Bank shields.io Badges Easily show your Hack Club Bank organization's balance using shields.io badges! This repo contains the instructions f

Hack Club 8 Sep 25, 2022
A JSON/ICS represenation of the Hack Club Assemble Run of Show Google Sheet

Assemble Calendar Assemble's Run of Show was planned on a Google Sheet. It's amazing for large-scale planning and visualizing everyone's schedules. Ho

Hack Club 8 Sep 25, 2022
Official Repository of Finite Loop Club website.

Finite Loop Club - Official Repo Built with: Running the Project Clone the repo git clone https://github.com/FiniteLoop-NMAMIT/flc-website Install the

FiniteLoop Club NMAMIT 4 Dec 26, 2022
Crowdsource and crowdfund collaboration on maps of problems.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

MapsMap 3 Dec 9, 2022
a/A MERN stack collaboration project

Welcome to Hoppers! Hoppers is an app where users can design their plan for the perfect night out with friends1. Users will be able to design and cust

Jonathan Wong 4 Apr 28, 2022
A transpiler from golang's type to typescript's type for collaboration between frontend & backend.

go2type go2type.vercel.app (backup site) A typescript transpiler that convert golang's type to typescript's type. Help front-end developer to work fas

Oanakiaja 8 Sep 26, 2022
A great result management solution for schools, hospital, academy and other. If you are a php developer, contribute to this respository for more advancement of the project.

result-management-pro A great result management system for schools, hospital, academy and more. Contributions Willing to add more features to this gre

Adeleye Ayodeji 8 Jun 17, 2022
STRV's Frontend Academy repository

Eventio A project developed during the STRV Frontend Academy 2022 Built With Next.js React.js Getting Started Follow this section to get the project r

STRV 15 Oct 31, 2022
An extension that scraps a khan academy unit and turns it into a notion todo.

The K-N Extension What is this? This extension injects a javascript file to the Khan academy website, and it adds a "Copy" button to every Khan academ

Abdulrhman Jalal 2 Jun 2, 2022
Repositório do HandsOn 4 - Gama Academy [XP41]

parrot Repositório do HandsOn 4 - Gama Academy [XP41]. Nesse projeto o desafio proposto foi desenvolver uma rede social chamada Parrot para condomínio

Helenilson Holamek 3 Oct 18, 2022
Grupo de Trabalho para o projeto do Desafio Chefão do XP 41 do Curso de FullStck da Gama Academy

Bem Vindos a Tech Dental ?? A Tech Dental é uma plataforma para gestão de prontuários de pacientes em clínicas odontológicas. Secretárias ou até mesmo

Helenilson Holamek 6 Jul 27, 2022
Simple budget-tracker web app developed using Vanilla JavaScript. Exercise from Warren Tech Academy.

Willow Personal Finance - Exercise from Warren Tech Academy About Project screenshots Installation Extra notes About Tools: HTML CSS (SASS) JavaScript

Douglas Ferreira 7 Dec 14, 2022