Petaniku is an innovative web platform that directly connects buyers with farmers, eliminating intermediaries in the agricultural supply chain. This platform enables more transparent transactions, fairer prices, and closer relationships between consumers and producers.
Status: π§ Under Development (Beta) & Migrate to nextjs
- β Authentication - Login/Register system
- π Landing Page - Engaging homepage
- π¦ Product Catalog - Display of various fresh vegetables
- π Search & Filter - Easy product discovery
- π Shopping Cart - Complete cart system
- π¬ Real-time Chat - Direct communication with farmers via WebSocket
- π Checkout - Secure purchase process
- π€ User Profile - Manage personal data
- β Authentication - Farmer-specific login/register
- π Product CRUD - Manage vegetable listings (Create, Read, Update, Delete)
- π¬ Real-time Chat - Respond to buyer messages
- π Notifications - Receive real-time alerts
- π€ Farmer Profile - Display farmer information
- π Dashboard - Manage products and orders
- NextJs - JavaScript Framework
- React - JavaScript library for UI
- TypeScript - Type safety and developer experience
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Smooth animations
- React Router DOM - Client-side navigation
- Axios - HTTP client
- Express.js - Node.js framework
- PostgreSQL - Relational database
- Sequelize - ORM for PostgreSQL
- WebSocket - Real-time communication
- Multer - File upload handling
- bcryptjs - Password encryption
- CORS - Cross-origin resource sharing
- Docker - Containerization
- Docker Compose - Multi-container orchestration
- Alibaba Cloud - Cloud hosting
- CentOS - Server operating system
- Node.js (v16 or newer)
- Docker & Docker Compose
- PostgreSQL (if running without Docker)
- npm or yarn
git clone https://github.com/satellacodes/petaniku.git
cd petanikucd backend
cp .env.example .env
# Edit .env with your database configuration
npm install
npm run devcd frontend
npm install
npm start# From root project
docker-compose up --buildApplication will be available at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:4001
- Database: PostgreSQL on port 5432
petaniku/
βββ frontend/ # React TypeScript frontend
β βββ src/
β β βββ components/ # Reusable components
β β βββ pages/ # Application pages
β β βββ services/ # API calls
β β βββ types/ # TypeScript definitions
β β βββ utils/ # Utility functions
β βββ public/
β βββ package.json
βββ backend/ # Express.js backend
β βββ src/
β β βββ controllers/ # Logic controllers
β β βββ models/ # Database models
β β βββ routes/ # API routes
β β βββ middleware/ # Custom middleware
β β βββ utils/ # Utility functions
β βββ package.json
βββ docker-compose.yml # Docker configuration
βββ database/ # Database scripts
βββ assets/ # Images and assets
βββ README.md
- Home - Landing page with platform information
- About - About Petaniku and our mission
- Product List - Product catalog with filters
- Product Detail - Complete product details
- Profile - User profile (buyer/farmer)
- Farmer Profile - Specialized farmer profile
- Cart - Shopping cart
- Checkout - Payment process
- Chat - Real-time chat room
- Farmer Dashboard - Manage products (CRUD)
- 404 Not Found - Error page
PetaniKu Web App v0.1.0-beta
- Frontend Package: @petaniku/web
- Backend Package: @petaniku/api
{
"frontend": {
"name": "@petaniku/web",
"version": "0.1.0-beta",
"private": true
},
"backend": {
"name": "@petaniku/api",
"version": "0.1.0-beta",
"private": true
}
}- v0.1.0-beta - Initial release with basic features
- v0.2.0-beta - WebSocket chat & notifications addition
- v0.3.0-beta - Product CRUD for farmers
We welcome contributions! Please read CONTRIBUTING.md for a complete guide on how to contribute to this project.
- Fork the repository
- Create a feature branch (
git checkout -b feature/featurename) - Commit your changes (
git commit -m 'Add feature X') - Push to the branch (
git push origin feature/featurename) - Create a Pull Request
If you find a bug, please open an [.github/ISSUE_TEMPLATE/bug_report.md] with the provided template.
This project is licensed under the MIT License - see the LICENSE file for details.
Petaniku Development Team
- Email: dimasarisp52@gmail.com
- Website: https://petaniku.vercel.app
Thank you to all contributors and parties who have supported the development of Petaniku. May this platform help Indonesian farmers and provide better access to fresh agricultural products.
Note: This project is under active development. Features and documentation may change over time.
Built with β€οΈ for Indonesian farmers
