Skip to content

EbeyJoeRegi/GramSathi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

146 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GramSathi Application

GramSathi is a community-focused mobile application designed to bridge the gap between villagers and administrative officials. It offers features to manage announcements, market prices, suggestions, queries, and emergency contacts. Additionally, it facilitates buying and selling products among users from different villages.

Roles

  • Administrator: Can post announcements, view villages, and add or edit villages and their admins.
  • Village Admin: Manages village-specific users, announcements, and market updates.
  • User: Can view announcements, post suggestions, complaints, and queries, and participate in buying and selling.

Chatbot Support

GramSathi includes a chatbot feature to assist users with common queries, information about available insurance, subsidies, and provides quick access to important crop information.

Features

  • User Authentication: Admin-approved registration for users.
  • Announcements: View important village updates.
  • Market Prices: Monitor crop prices by place and crop.
  • Queries and Suggestions: Post and track responses from admins.
  • Emergency Contacts: Access contact details for emergencies.
  • Multi-village Support: Admin can manage multiple villages with separate admins and users.
  • Buying and Selling Platform: Trade products between users across different villages.

Technologies Used

  • Frontend: Flutter (Version 3.24.3)
  • Backend: Node.js with Express.js
  • Database: MongoDB

Prerequisites

  1. Node.js - Download and install Node.js.
  2. Flutter SDK - Install Flutter by following the official guide.
  3. MongoDB - Set up a MongoDB database locally or using MongoDB Atlas.
  4. Android Studio - Install Android Studio emulator (Pixel 7 with API level 29).

Installation Guide

1. Fork the Repository

Fork this repository by clicking on the "Fork" button at the top right of this page.

2. Clone the Repository

git clone https://github.com/EbeyJoeRegi/GramSathi

3. Navigate to the Project Directory

cd GramSathi

Backend Setup

  1. Navigate to the backend directory:
cd GramSathi/Backend
  1. Install dependencies:
npm install
  1. Create a .env file and configure environment variables based on details in the backend folder.

  2. Start the server:

node server.js

Frontend Setup

  1. Navigate to the frontend directory:
cd GramSathi/Application
  1. Install dependencies:
flutter pub get
  1. Configure the API URL in the ../lib/config/app_config.dart file:

Provide the IP address & port details:

class AppConfig {
  static const String baseUrl = 'http://localhost:3000';
}
  1. Run the application:
flutter run

Database Setup (JSON Files)

  1. Navigate to the Database directory:
cd GramSathi/DB
  1. The DB folder contains JSON files required to initialize the database.

  2. Import these JSON files into MongoDB using the following steps:

    • Open MongoDB Compass.
    • Connect to your database instance.
    • Create a database named gramsathi.
    • Click on "Import Data" and select the JSON files from the DB folder.
    • Ensure collections are created successfully.
  3. Verify that the data is imported correctly by viewing the collections.


Screenshots

Screenshots of the project are provided in the Images folder.


Contributors


License

This project is licensed under the MIT License.


Contact

For any issues or queries, please contact:


Home Page

About

An Application for Village Residents Using Flutter, Express.js & MongoDB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors