Skip to content

Piyushydv08/SafeVoice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

135 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🌐 SafeVoice – AI-Powered Anonymous Support Platform

Live Demo: SafeVoice on Netlify

πŸ“Œ About

Safevoice is a secure, AI-enhanced platform that lets individuals anonymously share harassment experiences, attach media (photos/audio), and access verified NGO resources. It integrates language tools to improve clarity and reach, and is designed to be beginner-friendly for open-source contributors.

✨ Features

  • πŸ“ Anonymous Story Management β€” Add, edit, and delete stories while preserving contributor anonymity.
  • πŸ–Ό Media Attachments β€” Upload photos and audio recordings with stories.
  • 🌍 Real-Time Translation β€” Translate stories into 8+ Indian languages using Google Gemini AI.
  • ✏️ AI Grammar Correction β€” Real-time grammar fixes for submitted text.
  • πŸ“š NGO Resource Hub β€” Searchable database of support organizations and contact info.
  • πŸ” Secure Auth & DB β€” Firebase Authentication + Firestore for secure, privacy-focused storage.
  • ⚑ Serverless API β€” Netlify Functions for backend endpoints with CORS handling.
  • πŸ›‘οΈ Access Controls & Rate-Limiting β€” Basic protections to prevent abuse and preserve anonymity.

πŸ›  Tech Stack

Frontend: React, TypeScript, Tailwind CSS
Backend: Firebase (Auth, Firestore, Cloud Functions), Netlify Functions
AI Integration: Google Gemini AI
Deployment: Netlify


πŸ“ Project Structure

Below is the folder and file structure of the SafeVoice project πŸ‘‡

SafeVoice/
β”‚
β”œβ”€β”€ .github/
β”‚   └── ISSUE_TEMPLATE/                # GitHub issue templates for contributors
β”‚
β”œβ”€β”€ netlify/
β”‚   └── functions/                     # Netlify serverless functions
β”‚       β”œβ”€β”€ correct-grammar.cjs        # Function to correct grammar in stories
β”‚       β”œβ”€β”€ subscribe.cjs              # Function to handle email subscriptions
β”‚       └── translate.cjs              # Function to translate stories or text
β”‚
β”œβ”€β”€ public/
β”‚   └── _redirects                     # Netlify redirects configuration
β”‚
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/                    # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ Footer.tsx
β”‚   β”‚   β”œβ”€β”€ Navbar.tsx
β”‚   β”‚   β”œβ”€β”€ ScrollToTop.tsx
β”‚   β”‚   └── ThemeToggle.tsx
β”‚   β”‚
β”‚   β”œβ”€β”€ context/                       # React context for global state management
β”‚   β”‚   └── ThemeContext.tsx
β”‚   β”‚
β”‚   β”œβ”€β”€ lib/                           # External service configurations
β”‚   β”‚   β”œβ”€β”€ firebase.ts
β”‚   β”‚   └── supabase.ts
β”‚   β”‚
β”‚   β”œβ”€β”€ pages/                         # Main app pages
β”‚   β”‚   β”œβ”€β”€ About.tsx
β”‚   β”‚   β”œβ”€β”€ AdminDashboard.tsx
β”‚   β”‚   β”œβ”€β”€ Auth.tsx
β”‚   β”‚   β”œβ”€β”€ ContactPage.tsx
β”‚   β”‚   β”œβ”€β”€ EditStory.tsx
β”‚   β”‚   β”œβ”€β”€ FAQs.tsx
β”‚   β”‚   β”œβ”€β”€ Home.tsx
β”‚   β”‚   β”œβ”€β”€ Privacypolicy.tsx
β”‚   β”‚   β”œβ”€β”€ Resources.tsx
β”‚   β”‚   β”œβ”€β”€ ShareStory.tsx
β”‚   β”‚   β”œβ”€β”€ Stories.tsx
β”‚   β”‚   └── termsandconditions.tsx
β”‚   β”‚
β”‚   β”œβ”€β”€ App.tsx                        # Root app component
β”‚   β”œβ”€β”€ index.css                      # Global styles
β”‚   β”œβ”€β”€ main.tsx                       # App entry point
β”‚   └── vite-env.d.ts                  # Type definitions for Vite
β”‚
β”œβ”€β”€ .env.example                       # Example environment variables
β”œβ”€β”€ .gitignore                         # Git ignore configuration
β”œβ”€β”€ CODE_OF_CONDUCT.md                 # Community behavior guidelines
β”œβ”€β”€ CONTRIBUTING.md                    # Contribution guide
β”œβ”€β”€ GirlScript-Summer-of-Code.png      # Project/organization image
β”œβ”€β”€ LICENSE.md                         # License information
β”œβ”€β”€ PULL_REQUEST_TEMPLATE.md           # Pull request format
β”œβ”€β”€ README.md                          # This file πŸ˜„
β”‚
β”œβ”€β”€ eslint.config.js                   # ESLint configuration
β”œβ”€β”€ index.html                         # Main HTML entry file
β”œβ”€β”€ netlify.toml                       # Netlify configuration
β”œβ”€β”€ package-lock.json                  # NPM lock file
β”œβ”€β”€ package.json                       # Dependencies and scripts
β”œβ”€β”€ postcss.config.js                  # PostCSS setup for Tailwind
β”œβ”€β”€ server.js                          # Local server setup (optional)
β”œβ”€β”€ tailwind.config.js                 # TailwindCSS configuration
β”œβ”€β”€ tsconfig.app.json                  # TypeScript config for app
β”œβ”€β”€ tsconfig.json                      # Main TypeScript configuration
β”œβ”€β”€ tsconfig.node.json                 # Node TypeScript config
└── vite.config.js                     # Vite configuration

βš™οΈ Installation & Setup

  1. Clone the Repository

    git clone https://github.com/Piyushydv08/SafeVoice.git
    cd SafeVoice
  2. Install Dependencies and CLI

npm install
npm install -g firebase-tools
npm install -g netlify-cli
  1. Configure Environment Variables
  • Create a .env file in the root directory.
  • Place all keys according to .env.example
  • Add Firebase & API keys.
  1. Start Development Server
netlify dev

▢️ Usage


  • Visit http://localhost:8888 in your browser.
  • Sign up / Log in securely using Firebase Auth.
  • Share an anonymous story with or without media.
  • Translate and correct grammar instantly.
  • Browse NGO resources for support.

🀝 Contributing

Contributions are welcome! Follow these steps:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-name)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add feature')
  5. Push to the branch (git push origin feature-name)
  6. Create a Pull Request

Please read CONTRIBUTING.md and follow our Code of Conduct.


🌟GSSoC'25

GSSoC Logo 🌟 Exciting News...

πŸš€ This project is now an official part of GirlScript Summer of Code – GSSoC'25! πŸ’ƒπŸŽ‰πŸ’» We're thrilled to welcome contributors from all over India and beyond to collaborate, build, and grow Medicine-Reminder-App! Let’s make learning and career development smarter – together! πŸŒŸπŸ‘¨β€πŸ’»πŸ‘©β€πŸ’»

πŸ‘©β€πŸ’» GSSoC is one of India’s largest 3-month-long open-source programs that encourages developers of all levels to contribute to real-world projects 🌍 while learning, collaborating, and growing together. 🌱

🌈 With mentorship, community support, and collaborative coding, it's the perfect platform for developers to:

  • ✨ Improve their skills
  • 🀝 Contribute to impactful projects
  • πŸ† Get recognized for their work
  • πŸ“œ Receive certificates and swag!

πŸŽ‰ I can’t wait to welcome new contributors from GSSoC 2025 to this Medicine-Reminder-App project family! Let's build, learn, and grow together β€” one commit at a time. πŸ”₯πŸ‘¨β€πŸ’»πŸ‘©β€πŸ’»

πŸ† GSSoC 2025 Guidelines

πŸ“‹ For Participants

βœ… Do's

  • βœ… Read documentation thoroughly before contributing
  • βœ… Follow code style and project structure
  • βœ… Write descriptive commit messages
  • βœ… Test your changes before submitting PR
  • βœ… Be respectful and collaborative
  • βœ… Ask questions if you're unsure about anything

❌ Don'ts

  • ❌ Don't spam with multiple PRs for same issue
  • ❌ Don't copy code without understanding
  • ❌ Don't make unnecessary changes
  • ❌ Don't ignore code review feedback
  • ❌ Don't forget to update documentation when needed

🎯 Contribution Levels

Level Description Points Badge
πŸ₯‰ Beginner Fix typos, update docs, minor bug fixes 5-10 Beginner
πŸ₯ˆ Intermediate Add features, improve UI/UX, performance 15-25 Intermediate
πŸ₯‡ Advanced Major features, architecture improvements 30-50 Advanced

✨ Contributors

Thanks to all the wonderful contributors πŸ’–

Contributors


πŸ“§ Contact

For queries, feedback, or guidance regarding this project, you can contact the mentor assigned to the issue or admins:

  • πŸ“© LinkedIn: Aditi-raj
  • πŸ“© LinkedIn: Piyushydv08
  • πŸ’¬ By commit/PR comments: Please tag the mentor in your commit or pull request discussion for direct feedback.

Original Repository: SafeVoice

πŸ“„ License

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


If you like this project, please give it a ⭐ star. Your support means a lot to us!

Feel free to contribute or suggest new features!πŸ™

About

SafeVoice, an AI-powered anonymous support platform, by enhancing multi-language translation (8+ Indian languages) and real-time grammar correction using Google Gemini AI via Firebase Cloud Functions, improving frontend UI/UX in React & Tailwind CSS, optimizing Firestore queries, implementing secure anonymous CRUD operations.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors