Skip to content

AgroAPI is a RESTful web service designed as a backend solution for a B2B digital portal in the poultry and dairy farming sectors.

Notifications You must be signed in to change notification settings

Daniel-Andarge/Agro-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

83 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Welcome to Agro-API πŸ‘‹

Version Documentation Twitter: DanielAndarge

🏠 Homepage

Home


πŸ“š Table of Contents

Expand to view
  1. About The Project
  2. Built With
  3. Getting Started
  4. Usage
  5. Screen Shots
  6. Author
  7. Show Your Support
  8. License

About The Project

AgroAPI is a RESTful web service designed as a backend solution for a B2B digital portal in the poultry and dairy farming sectors. Developed as part of my capstone project for the ALX-Africa Software Engineering program, AgroAPI focuses on enhancing the agricultural supply chain by directly connecting SMEs in the poultry and dairy industries with reliable buyers and farm input providers. By eliminating intermediaries, the platform improves operational efficiency, promotes greater transparency, and fosters stronger relationships within the agricultural community. This innovative solution empowers farmers to access essential resources and markets, ultimately contributing to the growth and sustainability of the sector.

Problem Statement:

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.

Project Highlights:

  • 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.

Technologies Utilized:

  • 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.

Built With

  • React
  • Bootstrap
  • Express
  • Node
  • PostgreSQL
  • Sequelize ORM
  • JWT

Getting Started

Prerequisites

   . npm >= 8.6.0
   . node >= 18.0.0

   . Create a PostgreSQL database:
        - Database Name: agroapi
        - Username: admin
        - Password: admin

Installation

  1. Clone the repository:

    git clone https://github.com/Daniel-Andarge/Agro-API.git
  2. Install dependencies and start the backend server:

    cd backend
    npm install
    npm start
  3. Install dependencies and start the frontend server:

    cd client
    npm install
    npm start

Usage

Open the following ports on your browser:

Screen Shots

Home

Home

SignUp

SignUp

Login

Login

Admin SignUp From Postman

Admin SignUp

Admin Login

Admin Login Admin Home

Role-Based Profile Screenshot: User Information & Assigned Access Token

Admin Profile User Profile

Role-Based Content Screenshots: Customized Content Visibility by User Role

Admin Content Admin Moderator Content User Content

Database Screenshot: Password Encryption Implemented

Database

Show Your Support

If you find this project useful, give it a ⭐️!

Contributing

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.

License

This project is licensed under the MIT License.

Contact

Author

πŸ‘€ Daniel Andarge


About

AgroAPI is a RESTful web service designed as a backend solution for a B2B digital portal in the poultry and dairy farming sectors.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published