StellarFund is a decentralized crowdfunding platform built on the Stellar blockchain. This project consists of a backend server and a Vue.js frontend application.
You can view the demo here: https://www.loom.com/share/d5c2633dc4cd48a9aa75d9b76175dbae?sid=e780c6ea-4428-4816-b998-cca7c45ba5ba
Before you begin, ensure you have met the following requirements:
- You have installed Node.js (version 20.x or higher)
- You have a Windows/Linux/Mac machine
- You have installed Git
git clone https://github.com/harishkotra/stellar-fund.git
cd stellarfund
npm install
npm run serve
npm run build
npm run lint
- Navigate to the
stellar-fund-backend
folder - Create a
.env
file based on.env.example
- Fill in the necessary environment variables (e.g., Firebase is required for storing the campaign data)
To run StellarFund, follow these steps:
-
Start the backend server
npm run start
The backend server will start running on
http://localhost:3000
(or the port specified in your.env
file) -
In a new terminal, start the frontend application
cd ../ npm run serve
The frontend application will start running on
http://localhost:8080
(or another available port) -
Open your web browser and navigate to
http://localhost:8080
to use the Stellar Fund application
To build the frontend for production:
npm run build
To contribute to StellarFund, follow these steps:
- Fork this repository.
- Create a branch:
git checkout -b <branch_name>
. - Make your changes and commit them:
git commit -m '<commit_message>'
- Push to the original branch:
git push origin <project_name>/<location>
- Create the pull request.
Alternatively, see the GitHub documentation on creating a pull request.
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:
- 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
- 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
- Stellar Network: Decentralized, open-source blockchain platform
- Vite: Next generation frontend tooling for Vue.js
- ESLint: Pluggable JavaScript linter
- Prettier: Opinionated code formatter
- Random User API: External API for generating random user profiles
- Firebase Realtime Database: Database for storing application data (campaign details, user information)
- GitHub: Hosting platform for version control and collaboration
This project is licensed under the MIT License - see the LICENSE file for details.