Skip to content

davis109/Digitalgram-Connect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digitalgram Connect - Smart Community Notice Board

Project Overview

Digitalgram Connect is a modern, accessible digital notice board application designed for communities worldwide. It enables efficient information dissemination through multiple channels including visual displays, audio announcements, and offline access capabilities.

Key Features

  • Multi-language Support: Content in multiple languages with text-to-speech capabilities
  • Offline Functionality: Works without internet connection
  • Voice Feedback System: Community members can provide audio feedback
  • Emergency Alerts: Priority system for critical announcements
  • QR Code Integration: Easy sharing and access to notices
  • Responsive Design: Works on various devices and screen sizes
  • Accessibility Features: Audio playback for visually impaired users
  • AI Chat Assistant: Interact with an AI assistant for various categories (Health, Agriculture, Weather, Education, Community, Emergency)
  • User Authentication: Register, login, and profile management

Technology Stack

  • React with TypeScript
  • TailwindCSS for styling
  • Web Speech API for text-to-speech
  • IndexedDB/LocalStorage for offline data
  • QR Code generation
  • Node.js with Express for backend API
  • MongoDB with Mongoose for database
  • JWT for authentication
  • Google Gemini API for AI chat functionality

Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn

Installation

# Clone the repository
git clone [repository-url]

# Navigate to project directory
cd digitalgram-connect

# Install frontend dependencies
npm install

# Install backend dependencies
cd server
npm install

Configuration

Backend Configuration

  1. Create a .env file in the server directory with the following variables:
PORT=5000
MONGODB_URI=mongodb+srv://trey06799:joc2ajmIEega4jxV@cluster0.3isixo3.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0
JWT_SECRET=your_jwt_secret
GEMINI_API_KEY=your_gemini_api_key
NODE_ENV=development

Frontend Configuration

  1. Create a .env file in the project root directory based on .env.example:
# API Configuration
VITE_API_URL=http://localhost:5000

# Gemini API Configuration
VITE_GEMINI_API_KEY=your_gemini_api_key_here

# Environment
NODE_ENV=development
  1. Replace your_gemini_api_key_here with your actual Gemini API key from Google Cloud Console.

Starting the Application

# Start backend server
cd server
npm run dev

# In a separate terminal, start frontend
cd project
npm start

Usage

Notice Board

Browse and filter notices by category. Listen to audio versions of notices.

Admin Panel

Create and manage notices with different priorities and categories.

Voice Feedback

The Voice Feedback system allows users to:

  • Record audio feedback using their device's microphone
  • View real-time audio waveform visualization
  • Automatically transcribe audio to text using Google's Gemini AI
  • Add optional text comments
  • View feedback history with audio playback

Features:

  • Professional UI with rural-themed background images
  • Real-time audio visualization
  • Offline support for feedback storage
  • Multi-language support
  • Error handling and user feedback

AI Chat

Interact with an AI assistant for various categories. Create new chats, send messages, and get AI-powered responses.

User Authentication

Register a new account, login with existing credentials, and manage your profile.

Deployment

The application can be built for production using:

npm run build

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

  • Created for international hackathon competitions
  • Inspired by the need for accessible community information systems

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published