Skip to content

tokasa-starknet/dApp

Repository files navigation

🏠 ToKasa - Tokenized Real Estate Platform

🏑 ToKasa is an innovative tokenized real estate platform built on the Starknet blockchain. It allows users to invest in real estate properties fractionally through tokens, democratizing access to real estate investments.

⚑ Built with Scaffold-Stark, using NextJS, Starknet.js, Cairo, and Starknet-React.

🌟 Key Features

  • 🏘️ Tokenized Properties: Invest in real estate fractionally
  • πŸ’° Accessible Investment: Low minimum investment amounts
  • πŸ”’ Blockchain Security: Audited smart contracts on Starknet
  • πŸ“Š Investment Dashboard: Real-time portfolio tracking
  • 🌍 Global Properties: Access to international real estate markets
  • πŸ’Έ Transparent Returns: Automatic profit distribution

πŸš€ Live Demo

Visit our live application: https://tokasa-five.vercel.app/

πŸ› οΈ Technologies Used

  • Frontend: Next.js 14, React, TypeScript, Tailwind CSS
  • Blockchain: Starknet, Cairo
  • Smart Contracts: Starknet Foundry
  • Wallet Integration: Starknet-React
  • Deployment: Vercel

πŸ“‹ Prerequisites

Before getting started, make sure you have installed:

For smart contract development, you'll also need:

πŸ’‘ Tip: You can easily install all Starknet tools with Starkup

πŸš€ Quick Start

1. Clone the Repository

git clone https://github.com/your-username/tokasa.git
cd tokasa

2. Install Dependencies

yarn install

3. Configure Environment Variables

Copy the example files and configure your variables:

# For the frontend
cp packages/nextjs/.env.example packages/nextjs/.env.local

# For contracts
cp packages/snfoundry/.env.example packages/snfoundry/.env

4. Run in Local Development

# Terminal 1: Start local Starknet network
yarn chain

# Terminal 2: Deploy contracts
yarn deploy

# Terminal 3: Start frontend
yarn start

Visit http://localhost:3000 to see the application.

5. Steps to set up the database using Docker

Set up Docker container

yarn db:dev:up

Set up the database

1. Init the database
yarn db:init
2. Generate database
yarn db:migrate:gen
3. Database migration
yarn db:migrate:dev
4. Seed the database
yarn db:seed

Visit dApp/prisma to see the database schema

πŸ—οΈ Project Structure

tokasa/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ nextjs/          # Next.js Frontend
β”‚   β”‚   β”œβ”€β”€ app/         # Pages and routes
β”‚   β”‚   β”œβ”€β”€ components/  # React components
β”‚   β”‚   β”œβ”€β”€ hooks/       # Custom hooks
β”‚   β”‚   └── lib/         # Utilities
β”‚   └── snfoundry/       # Smart contracts
β”‚       β”œβ”€β”€ contracts/   # Cairo contracts
β”‚       └── scripts-ts/  # Deployment scripts
β”œβ”€β”€ README.md
└── SCAFFOLD-STARK-README.md  # Scaffold-Stark documentation

🀝 Contributing to the Project

We love receiving contributions! Here's how you can help:

πŸ”§ For Developers

  1. Fork the repository
  2. Clone your fork locally
  3. Create a branch for your feature: git checkout -b feature/new-functionality
  4. Install dependencies: yarn install
  5. Develop your functionality
  6. Test your changes: yarn test
  7. Commit your changes: git commit -m "feat: add new functionality"
  8. Push to your branch: git push origin feature/new-functionality
  9. Open a Pull Request

πŸ“ Code Conventions

  • We use TypeScript for type safety
  • ESLint and Prettier for consistent formatting
  • Conventional Commits for clear commit messages
  • Tests required for new functionalities

πŸ§ͺ Running Tests

# Frontend tests
yarn test:nextjs

# Smart contract tests
yarn test

# Check code formatting
yarn format:check

πŸ› Report Bugs

If you find a bug, please:

  1. Check that it's not already reported in Issues
  2. Create a new issue with:
    • Clear description of the problem
    • Steps to reproduce it
    • Expected vs actual behavior
    • Screenshots if relevant
    • Environment information (OS, browser, etc.)

πŸ’‘ Suggest Features

To suggest new features:

  1. Open an issue with the enhancement label
  2. Clearly describe the proposed functionality
  3. Explain why it would be useful for users
  4. If possible, include mockups or examples

🎨 Design Contributions

  • We follow Material Design guidelines and Web3 UX patterns
  • We use Tailwind CSS for styling
  • We prioritize accessibility and responsive design

πŸ“š Documentation Contributions

  • Improvements to README, code comments, or technical documentation
  • Translations to other languages
  • Tutorials and usage guides

🌐 Networks and Deployment

Testnet (Sepolia)

Mainnet

  • 🚧 Coming soon

πŸ“„ License

This project is under the MIT license. See LICENSE for more details.

πŸ™ Acknowledgments

  • Scaffold-Stark - Base framework for Starknet development
  • Starknet - Ethereum Layer 2 blockchain
  • Developer community contributing to the ecosystem

πŸ“ž Contact


Have questions? Don't hesitate to open an issue or contact us directly.

Like the project? Give it a ⭐ on GitHub!

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6