ALX Portfolio Project
Tags: alx, portfolioproject, react, javascript
Published: 2023-07-16 17:33:45


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c3608abimsodn9jxf6hs.jpg)

**

## Title: Agrocademy - A Farmer, customer social forum
**

**Introduction
**
Agricultural products are essential to not only the Farmers but to each and every one living in the world so far you eat, drink and make use of something Agro-based. In today's world where sole farmers aren't appreciated enough, an agro-based forum or social media can play a vital role in improving, motivating and inspiring more individual entrepreneurs to take on the farming business. I once had a relative who was a very successful sole farmer back in the 90s when the chance of making it as a sole commercial farming entrepreneur was very high. But since the emergence of large-scale commercial farming, the hope of such farmer succeeding is very slim, don't get me wrong, large-scale commercial farming has been a game changer and it is still very much needed but we seem to care less about small-scale commercial farmers.

This blog post will delve into the inspiration behind the project, provide a summary of its anticipated accomplishments, and list the technical challenges encountered during the development process.

**Inspiration**

The Farmers-Customer forum project was conceived out of an attempt to complete and create a useful application for my portfolio project, It will be easy to create just anyhow project to present and proceed to the 3months specialization but in the long run, I will be affected and my 9 months of assessment and test will probably be in vain. Furthermore, it is a portfolio project, not an ALX portfolio project alone, I knew creating a project I can show and talk about with people would be best. Additionally, It will be a crime if after the second sprint of the program I couldn't apply the knowledge and practical experience gained from the program.

**Project Summary**

Agrocademy is aimed at providing a social media-like interface where farmers can upload images of farm products (any other images can be uploaded), create, delete, like, and comment, on a post, and also, users can have a global group(just a term I use for a chat interface with every authenticated user added). Users can also change profile images, follow a user and more. Future integrations and updates will improve the UX/UI, create a Direct message interface, and personalize feed post recommendations. The Project utilizes a 3-Tier Software Application architecture, with HTML, CSS, JavaScript and React-TypeScript for the UI/frontend, Node(Express TypeScript) for the backend and Sqlite3 (the next version will be migrated to MongoDB) for the database.

Here are the steps I took in making progress in building the project.

I. I first designed the database schema and write out the relationship between each table, row, and column. Sqlite3 was chosen because it is lightweight, and I can deploy it directly with the server.

II. I started building my routes and middleware and some configurations. I have never used typescript on the backend, but I was taught to do hard things, so I used it and I'd say it was fun.

III. Lastly, my client side. The front end was pretty easy and fast, maybe because it's my second year of building UIs LOL. I was faced with some challenges but I overcame.

Here is the Diagram of my App architecture;

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yf1ue1qo5v4i4vre0iqd.jpg)

**Technical Challenges:**
Time posed a significant technical challenge during development as I did the project all by myself which presented a lot of obstacles. The project was designed serve a lot of functionalities for the first version but time wasn't on our side, so I picked out the basic functionalities I want it to have. Also, the deployment is an ongoing challenge that I'm facing till now.

**Conclusion**
Agrocademy is aimed at bringing together sole or individual commercial farmers for the common goal of encouraging, motivating, Inspiring and education each other. Also, it attract consumers to farm product which can be a great way to improve sales

**Profile**
The project was developed by Martins Olumide, a software engineer and ALX Software Engineering student.

Github: https://github.com/Martins100-Tmd
Landing Page: https://agrocademy.netlify.app
LinkedIn: https://www.linkedin.com/martins100tmd