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.
- 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.
GramSathi includes a chatbot feature to assist users with common queries, information about available insurance, subsidies, and provides quick access to important crop information.
- 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.
- Frontend: Flutter (Version 3.24.3)
- Backend: Node.js with Express.js
- Database: MongoDB
- Node.js - Download and install Node.js.
- Flutter SDK - Install Flutter by following the official guide.
- MongoDB - Set up a MongoDB database locally or using MongoDB Atlas.
- Android Studio - Install Android Studio emulator (Pixel 7 with API level 29).
Fork this repository by clicking on the "Fork" button at the top right of this page.
git clone https://github.com/EbeyJoeRegi/GramSathicd GramSathi- Navigate to the backend directory:
cd GramSathi/Backend- Install dependencies:
npm install-
Create a
.envfile and configure environment variables based on details in the backend folder. -
Start the server:
node server.js- Navigate to the frontend directory:
cd GramSathi/Application- Install dependencies:
flutter pub get- Configure the API URL in the
../lib/config/app_config.dartfile:
Provide the IP address & port details:
class AppConfig {
static const String baseUrl = 'http://localhost:3000';
}- Run the application:
flutter run- Navigate to the Database directory:
cd GramSathi/DB-
The
DBfolder contains JSON files required to initialize the database. -
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
DBfolder. - Ensure collections are created successfully.
-
Verify that the data is imported correctly by viewing the collections.
Screenshots of the project are provided in the Images folder.
This project is licensed under the MIT License.
For any issues or queries, please contact:
- Name: Ebey Joe Regi
- Email: ebeyjoeregi13@gmail.com
