Skip to content

Commit d5334f0

Browse files
authored
Feat/update create project (boundlessfi#38)
* feat(project): add metadata_uri, is_successful, is_closed, and created_at fields to Project struct and update new() method accordingly * refactor(create_project_event): change project_id type from u64 to String * refactor(create_project_storage): change project_id type from u64 to String * feat(create_project): add metadata_uri and change project_id to String in create_project function * feat: add wallet connection and project creation functionalities - add ConnectWalletButton component to dashboard layout - create ProjectsPage for displaying user projects - update project creation API route to handle new fields - add wallet store using Zustand for managing wallet state - implement project form with wallet connection and metadata upload - add MyProjectsList component to display user's projects - update utils with formatAddress function - add dependencies: uuid and zustand * docs: update README with detailed contribution guide and project overview
1 parent c648f40 commit d5334f0

1 file changed

Lines changed: 175 additions & 34 deletions

File tree

README.md

Lines changed: 175 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,177 @@
1-
2-
# Boundless: Stellar-Based Crowdfunding Platform
3-
4-
Boundless is a decentralized crowdfunding platform built on the Stellar blockchain, connecting innovators, creators, and supporters within the Stellar ecosystem.
5-
6-
## Features
7-
8-
- Secure user registration with KYC verification
9-
- Seamless Stellar wallet integration
10-
- Campaign creation and management
11-
- Project discovery and funding for backers
12-
- Milestone-based fund release
13-
- Token rewards for backers
14-
- Influencer referral system
15-
16-
## Tech Stack
17-
18-
-
19-
20-
## Getting Started
21-
1+
# Boundless Contribution Guide
2+
3+
## Introduction
4+
Welcome to the **Boundless** project! Boundless is a crowdfunding platform built on the **Stellar blockchain**, using **Soroban smart contracts** to facilitate transparent and decentralized project funding. This document outlines how to contribute to the project, including setting up your development environment, best practices, and contribution guidelines.
5+
6+
## Table of Contents
7+
1. [Project Overview](#project-overview)
8+
2. [Technology Stack](#technology-stack)
9+
3. [Getting Started](#getting-started)
10+
4. [How to Contribute](#how-to-contribute)
11+
5. [Code Standards & Best Practices](#code-standards--best-practices)
12+
6. [Smart Contract Development](#smart-contract-development)
13+
7. [Testing](#testing)
14+
8. [Deployment & CI/CD](#deployment--cicd)
15+
9. [Reporting Issues](#reporting-issues)
16+
10. [Community & Support](#community--support)
17+
18+
---
19+
20+
## 1. Project Overview
21+
Boundless enables users to create, support, and manage projects in a decentralized and trustless manner. **Key features include:**
22+
- User Authentication (email & social login, KYC verification)
23+
- Project Creation & Discovery
24+
- Voting & Feedback Mechanism
25+
- Crowdfunding via Stellar Wallets
26+
- Milestone-Based Fund Releases
27+
28+
## 2. Technology Stack
29+
### Backend:
30+
- **Next.js API Routes** (for server-side logic)
31+
- **Prisma ORM** (for database interactions)
32+
- **PostgreSQL** (for storage)
33+
- **Stellar SDK** (for blockchain interactions)
34+
35+
### Frontend:
36+
- **Next.js (App Router)** (for the main web application)
37+
- **Shadcn** (for UI development)
38+
- **Tailwind CSS** (for styling)
39+
- **Zustand** (for state management)
40+
41+
### Infrastructure:
42+
- **Vercel** (for frontend hosting & deployment)
43+
- **Docker** (for containerization)
44+
- **GitHub Actions** (for CI/CD pipelines)
45+
46+
## 3. Getting Started
2247
### Prerequisites
48+
Before contributing, ensure you have the following installed:
49+
- **Node.js** & **npm**
50+
- **Docker** (for containerized development)
51+
- **PostgreSQL** (for database setup)
52+
- **Rust** & **Soroban CLI** (for smart contract development)
53+
- **Git** (for version control)
54+
55+
### Setup
56+
1. **Fork the repository https://github.com/0xdevcollins/boundless and clone your fork:**
57+
```sh
58+
git clone https://github.com/YOUR_USERNAME/boundless.git
59+
cd boundless
60+
```
61+
2. **Install dependencies:**
62+
```sh
63+
npm install
64+
```
65+
3. **Set up environment variables:**
66+
Create a `.env.local` file based on `.env.example` and configure database, Stellar, and authentication settings.
67+
4. **Start development server:**
68+
```sh
69+
npm run dev
70+
```
71+
72+
---
73+
74+
## 4. How to Contribute
75+
### 1. Fork & Clone the Repository
76+
- Fork the repository to your GitHub account.
77+
- Clone it locally using:
78+
```sh
79+
git clone https://github.com/YOUR_USERNAME/boundless.git
80+
```
81+
82+
### 2. Create a Feature Branch
83+
- Use descriptive branch names:
84+
```sh
85+
git checkout -b feature/add-user-profile
86+
```
87+
88+
### 3. Make Changes & Commit
89+
- Follow the coding standards (see next section).
90+
- Commit with meaningful messages:
91+
```sh
92+
git commit -m "feat: added user profile section"
93+
```
94+
95+
### 4. Push Changes & Create a Pull Request (PR)
96+
- Push your branch:
97+
```sh
98+
git push origin feature/add-user-profile
99+
```
100+
- Create a pull request on GitHub and describe your changes.
101+
102+
### 5. Review & Merge
103+
- Maintainers will review your PR and request changes if necessary.
104+
- Once approved, it will be merged.
105+
106+
---
107+
108+
## 5. Code Standards & Best Practices
109+
- Use **ESLint & Prettier** for formatting.
110+
- Follow **Conventional Commits** (`feat:`, `fix:`, `chore:`, etc.).
111+
- Use **TypeScript**.
112+
- Keep functions modular and reusable.
113+
114+
---
115+
116+
## 6. Smart Contract Development
117+
Boundless uses **Soroban smart contracts** for funding and milestone tracking.
118+
### Key Contracts:
119+
1. `create_project(project_id, creator_address, metadata_uri, funding_target, milestone_count)`
120+
2. `vote_project(project_id, vote_value)`
121+
3. `fund_project(project_id, amount)`
122+
4. `release_milestone(project_id, milestone_number)`
123+
5. `refund(project_id)`
124+
125+
### Developing Smart Contracts
126+
1. **Install Soroban CLI:**
127+
https://developers.stellar.org/docs/build/smart-contracts/getting-started/setup
128+
2. **Write a new contract in Rust:**
129+
- Place it under `contracts/` directory.
130+
- Example structure:
131+
```rust
132+
#[soroban_sdk::contract]
133+
pub struct ProjectContract;
134+
```
135+
3. **test & Build:**
136+
```sh
137+
cargo test
138+
cargo build
139+
```
140+
141+
---
142+
143+
## 7. Testing
144+
- **Test smart contracts:**
145+
```sh
146+
cargo test
147+
```
148+
149+
---
150+
151+
## 8. Deployment & CI/CD
152+
Boundless uses **GitHub Actions** for deployment.
153+
### Deployment Steps:
154+
1. **Push to `main` branch**
155+
2. **GitHub Actions** runs tests & builds the project
156+
3. **Vercel** automatically deploys frontend
157+
4. **Backend updates** are deployed manually
158+
159+
---
160+
161+
## 9. Reporting Issues
162+
Found a bug? Have a feature request? Open an **issue** on GitHub:
163+
- Go to [Issues](https://github.com/0xdevcollins/boundless/issues)
164+
- Provide clear details & screenshots (if applicable).
165+
166+
---
167+
168+
## 10. Community & Support
169+
### Join Our Channels:
170+
- **Discord:** [Join Here](https://discord.gg/juUmBmwC3s)
171+
- **GitHub Discussions:** [Boundless Discussions](https://github.com/0xdevcollins/boundless/discussions)
172+
- **Twitter:** [Follow @boundless_fi](https://x.com/boundless_fi)
173+
174+
---
175+
176+
Thank you for contributing to Boundless! 🚀
23177

24-
-
25-
26-
### Installation
27-
28-
## Contributing
29-
30-
31-
## License
32-
33-
34-
## Contact
35-
36-
For any inquiries, please reach out to us at support@boundless.io or join our [community Discord](https://discord.gg/boundless).

0 commit comments

Comments
 (0)