The GSSoC FAQ Bot is an unofficial Discord bot designed to help participants of GirlScript Summer of Code (GSSoC) get instant answers to common questions. Built by contributors for contributors, this bot provides quick access to program information, project details, and helpful resources, all through simple Discord slash commands!
Whether you're a first-time contributor wondering how to get started or an experienced developer looking for specific project information, this bot has got you covered! 🚀
- Get instant answers to common GSSoC questions
- Smart search with autocomplete suggestions
- Covers topics like registration, contribution guidelines, deadlines, and more
- Fuzzy matching to find answers even with typos
- Search through all GSSoC projects
- Get detailed project information including:
- Project description and tech stack
- Admin and mentor contact details
- GitHub and LinkedIn links
- Step-by-step contribution guide
- Browse all projects with pagination
- Responsive web interface showcasing the bot
- Dark/Light theme support
- Interactive playground demonstration
- Detailed feature explanations
- Autocomplete for both commands
- Automatic ID card sharing for relevant queries
- Paginated project listings
- Error handling with helpful suggestions
- Node.js - JavaScript runtime environment
- Discord.js v14 - Discord API wrapper for bot functionality
- Express.js - Web server for hosting the landing page
- HTML5 - Semantic markup structure
- Tailwind CSS - Utility-first CSS framework for styling
- Vanilla JavaScript - Interactive functionality and animations
- GSAP - Professional animations and scroll effects
- JSON files - FAQ and project data storage
- Excel processing - Convert spreadsheets to JSON format
- Vercel - Hosting platform for the web interface
- Environment variables - Secure configuration management
Before you begin, make sure you have:
- Node.js (version 16 or higher) installed on your computer
- A Discord account and basic understanding of Discord servers
- Git installed for version control
- A code editor like VS Code (recommended)
-
Fork and Clone the Repository
# Fork the repository on GitHub first, then: git clone https://github.com/YOUR_USERNAME/gssocFAQ-Bot.git cd gssocFAQ-Bot
-
Install Dependencies
npm install
-
Set Up Environment Variables
# Copy the example environment file cp .env.example .env # Edit .env file and add your Discord bot token # You can get this from Discord Developer Portal
-
Create a Discord Application
- Go to Discord Developer Portal
- Click "New Application" and give it a name
- Go to "Bot" section and create a bot
- Copy the bot token to your
.env
file - Enable necessary bot permissions
# Start the Discord bot
node index.js
# Navigate to views directory
cd views
# Install web dependencies
npm install
# Start development server with Tailwind CSS
npm run start:tailwind
# In another terminal, serve the HTML file
# You can use Live Server extension in VS Code
# Or use a simple HTTP server
# Register slash commands with Discord
node deploy-command.js
gssocFAQ-Bot/
├── 📄 index.js # Main bot application
├── 📄 deploy-command.js # Command registration script
├── 📄 faqs.json # FAQ data storage
├── 📄 projects.json # Project information
├── 📄 package.json # Node.js dependencies
├── 📄 .env.example # Environment variables template
├── 📄 vercel.json # Vercel deployment config
├── 📁 public/ # Static assets
│ └── 📁 assets/ # Images and logos
├── 📁 views/ # Web interface
│ ├── 📄 index.html # Landing page
│ ├── 📄 index.js # Frontend JavaScript
│ ├── 📄 package.json # Frontend dependencies
│ └── 📁 css/ # Stylesheets
│ ├── 📄 tailwind.css # Tailwind source
│ └── 📄 index.css # Custom styles
└── 📁 routes/ # Express.js routes
└── 📄 documentation.js # API documentation
We're excited to have you contribute! Here's how to get started:
- Star this repository ⭐
- Join our Discord community for support
- Read the codebase to understand the project structure
- Look for "good first issue" labels on GitHub Issues
- Ask questions - we're here to help!
-
Find an Issue
- Check open issues
- Look for labels:
good first issue
,beginner-friendly
,gssoc
- Comment on the issue to get assigned
-
Fork and Setup
# Fork the repo and clone your fork git clone https://github.com/YOUR_USERNAME/gssocFAQ-Bot.git cd gssocFAQ-Bot # Add upstream remote git remote add upstream https://github.com/piyushpatelcodes/gssocFAQ-Bot.git
-
Create a Branch
# Create a new branch for your feature git checkout -b feature/your-feature-name
-
Make Changes
- Write clean, commented code
- Follow existing code style
- Test your changes thoroughly
- Update documentation if needed
-
Commit and Push
# Add and commit your changes git add . git commit -m "feat: add your descriptive commit message" # Push to your fork git push origin feature/your-feature-name
-
Create Pull Request
- Go to your fork on GitHub
- Click "Compare & pull request"
- Fill in the PR template
- Wait for review and address feedback
- 🐛 Bug Fixes: Fix existing issues and improve stability
- ✨ New Features: Add new commands or bot functionality
- 🎨 UI/UX: Improve the landing page design and user experience
- 📚 Documentation: Help improve README, code comments, and guides
- 🧪 Testing: Write tests and improve code quality
- 🔧 Performance: Optimize bot response times and efficiency
- 🌐 Accessibility: Make the web interface more accessible
- 📱 Responsive Design: Improve mobile experience
- Be respectful and inclusive in all interactions
- Follow the code of conduct
- Keep commits small and focused on one change
- Write descriptive commit messages following conventional commits
- Test your changes before submitting PR
- Update documentation when adding new features
- Ask for help when stuck - we're a friendly community!
Need help? We've got you covered!
- 💬 Discord: Join our community server[https://discord.gg/gM3RJ3Aydj]
- 📧 Issues: Open a GitHub issue for bugs or feature requests
- 📖 Docs: Check our detailed documentation
- 🤝 Mentors: Reach out to project mentors for guidance
This project is licensed under the MIT License - see the LICENSE file for details.
- GirlScript Foundation for organizing GSSoC
- All contributors who help improve this project
- Discord.js community for excellent documentation
- Open source community for inspiration and support
Made with ❤️ for the GSSoC community
Happy Contributing! 🚀