CofiBlocks is the first Collaborative Business connecting traditional coffee-growing communities in Costa Rica and worldwide directly with coffee lovers using Starknet blockchain technology. Our mission is to distribute benefits among all members, ensuring fair trade, community engagement, and technological innovation.
Thank you to everyone who participated in our first season and enjoyed coffee from the slopes of Volcán Poás.
We are preparing to launch our second season, featuring coffee from additional coffee-growing regions of Costa Rica.
Want to bring CofiBlocks to your region?
CofiBlocks is more than just a coffee marketplace; it's a movement for a more equitable and sustainable coffee future. With a strong foundation and a passionate community, CofiBlocks is poised to transform the way coffee is produced, distributed, and enjoyed worldwide. Whether you're a coffee enthusiast or a blockchain believer, CofiBlocks invites you to join their journey.
-
Learning about modern collaborative businesses with CofiBlocks
-
CofiBlocks: Innovating the Coffee Industry in Costa Rica with Web3
Co-founder
Omar's journey from coffee picker to coffee tour guide in Poás de Alajuela inspired the creation of CofiBlocks. He brings firsthand knowledge of the challenges small producers face.
Co-founder
Karla contributes her extensive experience in blockchain technology and impact-driven solutions.
Co-founder
Ranulfo's background in blockchain development and collaborative economies helps drive the technical and organizational aspects of CofiBlocks.
Full Stack Developer Web3
Full Stack Developer Web3
Full Stack Developer Web3
- Website: CofiBlocks Website
- X: Follow us on Twitter
- Telegram ODHack: Join our Telegram ODHACK Group
- Telegram for Devs: Join our Telegram Devs Cofi Group
- Node.js (>= 18)
- Bun package manager ([email protected])
- Prisma
/cofiblocks/apps/web/sql/init.sql
- And REPLACE MYSQL_USER with your mysql user in the .env
GRANT CREATE ON *.* TO '<MYSQL_USER>'@'%';
GRANT ALL PRIVILEGES ON *.* TO '<MYSQL_USER>'@'%';
Add this to your docker-compose.yml file:
version: '3.8'
services:
db:
image: mysql:8.4
container_name: mysql
restart: always
env_file:
- ./apps/web/.env
ports:
- '3306:3306'
healthcheck:
test: ['CMD-SHELL', 'mysqladmin ping -h 127.0.0.1 --password="$$(cat /run/secrets/db-password)" --silent']
interval: 3s
retries: 5
start_period: 30s
volumes:
- mysql-data:/var/lib/mysql
- ./apps/web/sql/init.sql:/docker-entrypoint-initdb.d/init.sql
volumes:
mysql-data:
-
Clone the repository:
git clone https://github.com/Vagabonds-Labs/cofiblocks.git cd cofiblocks
- Run
docker compose up
, to access the database.
- Run
-
Install dependencies:
bun install
-
Rename
mv .env.example to .env
And add this in your .env file:
MYSQL_ROOT_PASSWORD= MYSQL_DATABASE= MYSQL_USER= MYSQL_PASSWORD= DATABASE_URL="mysql://${MYSQL_USER}:${MYSQL_PASSWORD }@localhost:3306/${MYSQL_DATABASE}? connect_timeout=10"
Important:
- Add and run
docker compose up
in this part.
- Add and run
-
Generate the Prisma client:
bun prisma generate
-
Run the development server:
bun turbo dev
Make sure the values in the .env file are configured correctly for your environment.
The project is organized using workspaces:
apps/
- Contains the main web application.packages/
- Shared packages and utilities.
Key scripts include:
build
: Build the project.dev
: Start the development server.db:migrate
: Apply database migrations.db:seed
: Seed the database with initial data.
- StarkNet
StarkNet is a decentralized, permissionless Layer 2 solution for Ethereum. It uses ZK-STARKs (zero-knowledge proofs) to enable fast and cost-efficient transactions while ensuring security and scalability. Developers can deploy smart contracts, and users benefit from significantly reduced gas fees compared to Ethereum's mainnet.
- Prisma
Prisma is a modern database toolkit for Node.js and TypeScript. It provides an ORM (Object-Relational Mapping) that simplifies working with databases, allowing developers to define models and query data in a type-safe way. Prisma supports multiple databases, including PostgreSQL, MySQL, and MongoDB
- Bun
Bun is an all-in-one JavaScript runtime that competes with Node.js and Deno. It’s built for performance and includes a fast bundler, transpiler, and package manager. Bun aims to speed up development workflows, reduce dependency on third-party tools, and execute JavaScript and TypeScript quickly. It’s designed to handle server-side apps, scripts, and front-end tooling.
We are committed to creating a welcoming and inclusive environment. Please read our Community Guidelines to ensure a positive experience for everyone involved.
We've created a custom GPT to assist with development tasks related to CofiBlocks. This AI-powered assistant is designed to help with coding, answer questions about our tech stack, and provide guidance on best practices.
Access the CofiBlocks Dev Assistant here:
Features:
- Coding assistance for our tech stack (Next.js, TypeScript, TailwindCSS, etc.)
- Guidance on project structure and best practices
- Help with Starknet and blockchain-related development
- Quick answers to common development questions
Feel free to use this resource during your development process to streamline your workflow and get quick answers to your questions.
To streamline our development process and maintain consistency across the project, we've created a comprehensive prompt guide. This guide covers various custom prompts designed to assist with component generation, code-related tasks, and information retrieval.
Key features of our prompt guide include:
- Instructions for using SudoLang, a powerful pseudocode language for AI collaboration.
- Detailed usage guidelines for our custom prompts:
V0PromptWithComponent for generating v0.dev prompts
TailwindReactComponentGenerator for creating React components with Tailwind CSS
PerplexityBot for efficient information searches
- Best practices for prompt usage and troubleshooting tips
For full details and usage instructions, please refer to our