This is a submission for the Build Better on Stellar: Smart Contract Challenge : Build a dApp
What I Built
I've developed Stellar Fund, a decentralized crowdfunding platform built on the Stellar blockchain. Stellar Fund leverages Stellar's smart contract capabilities to create a transparent, efficient, and user-friendly environment for launching and contributing to crowdfunding campaigns.
This entire demo was built in less than 2 days.
Demo
Was unable to deploy since I started building this only during the last 1-2 days.
Screenshots
My Code
https://github.com/harishkotra/stellar-fund
Journey
Implementation and Smart Contract Design
Stellar Fund utilizes Stellar's smart contract capabilities to manage crowdfunding campaigns. The core features include:
- Testnet Account Creation: Users can create Stellar testnet accounts directly within the app. Each account is associated with randomly generated user data (name, email, and profile picture) for a more personalized experience.
- Campaign Creation: Users can create crowdfunding campaigns by specifying a funding goal and deadline. The smart contract ensures that funds are only released if the goal is met before the deadline.
- Contribution Mechanism: Anyone can contribute to active campaigns using Stellar Lumens (XLM). The smart contract manages these contributions, holding funds in escrow until the campaign concludes.
- Automated Fund Distribution: Upon reaching the deadline, the smart contract automatically distributes funds to the campaign creator if the goal is met, or returns funds to contributors if not.
- Real-time Updates: The app provides real-time updates on campaign progress, leveraging Stellar's quick transaction finality.
Motivation
The motivation behind Stellar Fund was to demonstrate the potential of blockchain technology, specifically Stellar, in crowdfunding. Traditional platforms often lack transparency and involve high fees. By utilizing Stellar's fast, low-cost transactions and smart contract capabilities, we aimed to create a more efficient and trustworthy crowdfunding experience.
Learning Experience
Developing Stellar Fund was an enlightening journey into the Stellar ecosystem. Key learnings include:
- Understanding Stellar's smart contract capabilities and how to leverage them.
- Designing a user-friendly interface that abstracts blockchain complexities.
- Integrating external APIs (like Random User API) to enhance the user experience.
Ecosystem Experience
Working with the Stellar ecosystem was a positive experience. The comprehensive documentation, active community support, and robust SDKs significantly aided the development process. The testnet environment proved invaluable for iterative development and testing.
Proud Achievements
I'm particularly proud of the seamless user onboarding process I've created. By automating testnet account creation and associating it with randomly generated user profiles, I've made it easy for users to start experimenting with blockchain technology, even if they're new to the space.
Future Plans
Looking ahead, I plan to:
- Implement more advanced campaign features, such as milestone-based funding releases.
- Explore integration with Stellar's upcoming smart contract improvements for enhanced functionality.
- Develop a mobile version of the app to increase accessibility.
- Implement social features to allow users to share and promote campaigns easily.
Additional Prize Categories: Super Sustainable
I would like this submission to be considered for the Super Sustainable prize category. Stellar Fund promotes sustainability by:
- Utilizing Stellar's energy-efficient consensus mechanism, which is more environmentally friendly compared to proof-of-work systems.
- Enabling crowdfunding for sustainable and eco-friendly projects, potentially accelerating the development of green technologies and initiatives.
- Reducing the need for physical infrastructure and paperwork associated with traditional crowdfunding methods.
Tech Stack
StellarFund is built using a modern web development stack, leveraging the power of JavaScript both on the frontend and backend. Here's an overview of the technologies used:
Frontend
- Vue.js 3: A progressive JavaScript framework for building user interfaces
- PrimeVue: UI component library for Vue.js applications
- Axios: Promise-based HTTP client for making API requests
- Vuex: State management pattern + library for Vue.js applications
- Vue Router: Official router for Vue.js
Backend
- Node.js: JavaScript runtime built on Chrome's V8 JavaScript engine
- Express.js: Web application framework for Node.js
- Stellar SDK: Official Stellar library for interacting with the Stellar network
Blockchain
- Stellar Network: Decentralized, open-source blockchain platform
Development Tools
- Vite: Next generation frontend tooling for Vue.js
- ESLint: Pluggable JavaScript linter
- Prettier: Opinionated code formatter
APIs
- Random User API: External API for generating random user profiles
Database
- Firebase Realtime Database: Database for storing application data (campaign details, user information)
Version Control
- GitHub: Hosting platform for version control and collaboration
Top comments (0)