Hello world! This is the project’s summary that describes the project plain and simple, limited to the space available.
PROJECT PHILOSOPHY • WIREFRAMES • TECH STACKS • IMPLEMENTATION • HOW TO RUN?
In a world fighting for food security, alot of the scarcity is due to following ineffecient farming practices. With CowPanion we aim to lessen the effect of these practices.
The CowPanion app is soon to be included as an essential tool for farms, from small to mid-range farms, it's aimed at giving the farmers insights over their farm and help them take better decisions, monitor their animal's health along with keeping an eye on production levels.
With CowPanion, we want farmers and veterinarians to symbiotically exist on one platform and easily coordinate for the betterment of their animals' health.
- As a farmer, I need quick and easy access to my animals.
- As a farmer, I want a seemless interaction with veterinarians.
- As a farmer, I need visual representations of my farm's milk performance.
- As a farmer, I need to keep track of tasks in hand.
- As a farmer, I need to monitor my animal's current lifecycle stage.
- As a veterinarian, I want to have all the patients at one place.
- As a veterinarian, I want to grow my career and network of farms.
- As a veterinarian, I want to have easy access to patients as fast as possible.
- As an admin, I need to explore my userbase's age groups and adjust my services accordingly.
- As an admin, I need to see the geographical distribution of farms accross the country.
This design was planned before on paper, then moved to Figma app for the fine details. Note that i didn't use any styling library or theme, all from scratch and using pure css modules
Farmer Log In | Farmer Sign Up | List of Animals |
---|---|---|
Create Reminder | Animal Scanning | Profile Dashboard |
---|---|---|
Log In | Update Medical Records | Scan Animals |
---|---|---|
Admin's Panel |
---|
Here's a brief high-level overview of the tech stack the Well app uses:
- The backend was constructed using Django Framework. Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design.
- The frontend experience was crafted using React Native and Expo. React Native lets you create truly native apps and doesn't compromise your users' experiences. While Expo is an open-source platform for making universal native apps for Android, iOS, and the web with JavaScript and React.
- The database was built using MySQL package which allows the app to create a custom storage schema and save it to a local database.
- Admin's panel was put together using React. React is a free and open-source front-end JavaScript library for building user interfaces based on UI components.
- Calculation of milk volume was done using NodeMCU Amica microcontroller connected to a waterproof Ultrasonic sensor to measure the volume of milk inside a given container.
- Animal identification was accomplished using QR codes. QR codes are a machine-readable optical label that can contain information about the item to which they are attached to.
- Data visualization was achieved using D3.JS. D3.js is a JavaScript library for manipulating documents based on data.
- Weather data was presented using OpenWeatherAPI. It is a simple, fast and free weather API that you have access to current weather data, hourly, 5- and 16-day forecasts.
- Geographical representation of Lebanon was done using Google Maps, while for the admin the project used Leaflet's open source map.
Uing the above mentioned tech stacks and the wireframes build with figma from the user stories we have, the implementation of the app is shown as below, this is a GIF displaying screenshots from the real app including home, animal's list, animal's profile, reminders, and profile page accordingly.
Farmer's Login | Farmer's Register | Farmer's Profile |
---|---|---|
Animals and Adding Animal | Farmer's Reminders | Animal QR Code Scan |
---|---|---|
Veterinarian Login | Update Medical Records | Vet Scan Animal |
---|---|---|
Admin's Panel |
---|
Admin's Map | Admin's User Age Groups Chart |
---|---|
Diagram displaying how the hardware will work in a real farm |
---|
NodeMCU Amica | HC-SR04 Ultrasonic Distance Sensor |
---|---|
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them.
-
npm
npm install npm@latest -g
-
pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
-
Expo CLI
npm install --global expo-cli
-
or Expo GO app
-
Get farm password and farm ID From Admin for Arduino Setup.
Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services.
- Clone the repo
git clone https://github.com/Ali-Olliek/CowPanion
- Install NPM packages
npm install
- Install PIP package manage for Python
pip install django
- To launch the backend run:
python manage.py runserver
- To launch the app run:
expo start