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.
- 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
- 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
- Node.js (v14 or higher)
- npm or yarn
# 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- Create a
.envfile 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
- Create a
.envfile 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
- Replace
your_gemini_api_key_herewith your actual Gemini API key from Google Cloud Console.
# Start backend server
cd server
npm run dev
# In a separate terminal, start frontend
cd project
npm startBrowse and filter notices by category. Listen to audio versions of notices.
Create and manage notices with different priorities and categories.
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
Interact with an AI assistant for various categories. Create new chats, send messages, and get AI-powered responses.
Register a new account, login with existing credentials, and manage your profile.
The application can be built for production using:
npm run buildContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Created for international hackathon competitions
- Inspired by the need for accessible community information systems