🌏 NusaQuest is an impact-to-earn platform that powered by AI 🤖 and DAO 🧠 on Lisk Sepolia 🛰️ that rewards user for joining river cleanups across Indonesia 🇮🇩. Collect trash before it reaches the ocean 🌊, earn NUSA tokens 💰, and redeem them for NFT concert tickets 🎫. With KTP-based KYC 🪪🔍, NusaQuest bridges real-world action 🌱 with the power of Web3 🌐.
```
├── backend/
│ ├── config/ # Configuration files (e.g., database configuration)
│ ├── constants/ # Project-wide constant values (e.g., custom errors, custom success, etc)
│ ├── controllers/ # Business logic handlers for each route
│ │ └── helper/ # Helper functions used within controllers
│ ├── handlers/ # Core functions handling incoming HTTP requests
│ ├── middlewares/ # Middleware functions (e.g., database connection handling)
│ ├── models/ # Database models or data schemas
│ ├── output/ # JSON response structure for success or error results
│ ├── router/ # Route definitions and API endpoints
│ ├── utils/ # Utility functions (e.g., validator)
│ ├── views/ # HTML templates
│ ├── .env # Environment variables
│ ├── .gitignore # Files and folders ignored by Git
│ ├── Makefile # Automation commands for building and running
│ ├── go.mod # Go module definitions (dependencies)
│ ├── go.sum # Hashes of module dependencies for reproducibility
│ └── main.go # Entry point of the backend application
```
This project uses GoFiber and a custom Makefile for a smoother development experience.
Just run make <task> without remembering long commands!
Follow the official installation guide based on your OS: 🔗 https://go.dev/doc/install
After installation, run the following command to confirm:
go version> git clone https://github.com/NusaQuest/backend
> cd backend> make install> make runBefore running deploy or verification commands, make sure your .env file is properly set up in the root directory.
# 📦 MongoDB connection URI
MONGO_URI=mongodb+srv://your_user:your_pass@cluster.mongodb.net/
# 🗂️ Name of the database
DB_NAME=<DB_NAME>
# 🤖 OpenAI API key (for AI features)
OPENAI_API_KEY=sk-...- 🧑 Yobel Nathaniel Filipus :
- 🐙 Github : View Profile
- 💼 Linkedin : View Profile
- 📧 Email : yobelnathaniel12@gmail.com