Expand to view
AgroAPI is a RESTful web service designed to function as a backend solution for B2B applications in the poultry and dairy farming sectors. Developed as part of my capstone project for the ALX-Africa Software Engineering program, with a focus on backend development, AgroAPI enhances the agricultural supply chain by directly linking farmers with buyers and farm input providers. By eliminating intermediaries, the platform improves operational efficiency and promotes greater transparency across the industry.
Ethiopia's poultry and dairy farming sectors face significant inefficiencies due to a fragmented supply chain, reliance on middlemen, and limited access to reliable market data. Farmers often struggle to connect directly with buyers and farm input suppliers, resulting in reduced profit margins, inconsistent pricing, and delays in accessing essential resources. The lack of an integrated digital solution exacerbates these challenges, making it difficult for farmers to scale their operations or compete effectively in the market.
To address these issues, AgroAPI was developed as a backend service tailored to the Ethiopian poultry and dairy farming industries. By directly linking farmers with buyers and farm input suppliers through a B2B platform, AgroAPI aims to eliminate intermediaries, streamline supply chain operations, and improve access to real-time market data. This solution enhances transparency, increases operational efficiency, and helps Ethiopian farmers achieve sustainable growth in an increasingly competitive market.
The primary focus of this project is to implement best practices in back-end development, The front-end has been designed primarily to facilitate interaction with the back-end. However, it can be enhanced or improved as needed.
- User Authentication: Secure sign-up and login with JSON Web Tokens for enhanced data protection.
- Access Control: Role-based access control mechanisms for precise user privilege management.
- Performance Optimization: Request rate limitations and caching strategies for improved efficiency.
- Dynamic UI: User interface built with React.
- Pagination: Server-side pagination for optimized data retrieval.
- Thorough Documentation: Comprehensive API documentation for ease of use.
- Node.js: For server-side JavaScript execution.
- Express.js: Backend framework for robust API creation.
- React: For creating interactive user interfaces.
- Bootstrap: For responsive and attractive UI design.
- Axios: For efficient API requests.
- PostgreSQL: Relational database management.
- Sequelize ORM: Seamless interaction with PostgreSQL.
- JWT (JSON Web Token): Secure and stateless authentication.
- SwaggerHub: Comprehensive API documentation.
. npm >= 8.6.0
. node >= 18.0.0
. Create a PostgreSQL database:
- Database Name: agroapi
- Username: admin
- Password: admin
-
Clone the repository:
git clone https://github.com/Daniel-Andarge/Agro-API.git
-
Install dependencies and start the backend server:
cd backend npm install npm start
-
Install dependencies and start the frontend server:
cd client npm install npm start
Open the following ports on your browser:
- Frontend @ http://localhost:8081
- Backend @ http://localhost:8080
If you find this project useful, give it a ⭐️!
While this project is primarily a portfolio piece and not open for external contributions, feedback and suggestions are always welcome. If you have any thoughts or comments, reach out via email or LinkedIn.
This project is licensed under the MIT License.
- Email: Send Message
- LinkedIn: Daniel Andarge
👤 Daniel Andarge