-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
Frequently asked questions about NEXUS Support System.
A full-featured support ticket system with MongoDB integration and GitHub issue synchronization. It allows you to manage support tickets and sync them with GitHub issues for enhanced collaboration.
- Node.js 14.0.0 or higher
- MongoDB 4.4 or higher
- 2GB RAM minimum
- 20GB storage minimum
Yes, the system is open-source and free to use. You'll need:
- Free MongoDB (local or MongoDB Atlas free tier)
- GitHub account (free)
- Hosting (varies by provider)
See the Installation Guide for detailed step-by-step instructions.
Yes, you can use the system without GitHub integration. The GitHub features are optional.
Basic knowledge of command line and configuration is helpful, but no coding is required for basic usage.
Copy .env.example to .env and edit the file with your configuration.
The webhook secret secures GitHub webhooks. It verifies that webhooks are actually from GitHub.
Use OpenSSL:
openssl rand -hex 32Yes, set PORT in your .env file.
MongoDB with Mongoose ODM.
Yes, update MONGODB_URI in .env with your Atlas connection string.
See the Deployment Guide for backup strategies.
Not currently. The system is designed for MongoDB.
The system uses GitHub webhooks to:
- Create tickets from GitHub issues
- Sync comments between tickets and GitHub
- Update ticket status based on issue state
Yes, for syncing tickets to GitHub. See Installation Guide for how to create one.
- Issues: opened, closed, reopened, edited, labeled
- Issue comments: created
Yes, use the "Sync with GitHub" button on ticket details or the API endpoint.
Simply don't configure the GitHub environment variables. The system will work without them.
Authentication is optional and can be configured per endpoint.
JWT (JSON Web Tokens) with bcrypt password hashing.
-
admin: Full access -
support_agent: Can manage tickets -
user: Can create tickets
Register a user with role "admin" via the API or database.
Use the web interface at http://localhost:3000 or the API endpoint POST /api/tickets.
Yes, update the assignedTo field when updating a ticket.
Use the web interface or the API endpoint POST /api/tickets/:ticketId/comments.
Yes, filter by status, priority, category, and assignee via query parameters.
-
open: New ticket -
in_progress: Being worked on -
resolved: Issue resolved -
closed: Ticket closed
-
low: Low priority -
medium: Normal priority -
high: High priority -
critical: Urgent priority
See the Developer Guide for contribution guidelines.
Yes, edit public/index.html. It's vanilla HTML/CSS/JavaScript.
See the Developer Guide for instructions.
See the Developer Guide for architecture overview.
- VPS (DigitalOcean, Linode, AWS EC2)
- PaaS (Heroku, Render, Railway)
- Container services (Docker, AWS ECS)
Highly recommended for production. See Deployment Guide.
Use Let's Encrypt with Certbot. See Deployment Guide.
Yes, see the Deployment Guide for Docker setup.
Check:
- MongoDB is running
- Port is not in use
- Environment variables are set
- Dependencies are installed
Check:
- Webhook URL is publicly accessible
- Webhook secret matches
- GitHub webhook delivery logs
- Server logs
Check:
- MongoDB is running
- Connection string is correct
- Firewall allows connection
- IP whitelist (for Atlas)
See the Troubleshooting Guide.
Yes, when properly configured with:
- Strong secrets
- SSL/HTTPS
- Authentication enabled
- Firewall configured
- Regular updates
No, never commit .env. It's in .gitignore by default.
- Enable authentication
- Use strong passwords
- Use TLS/SSL
- Restrict network access
- Regular backups
MIT License. See LICENSE file for details.
Yes, MIT license allows commercial use.
No, MIT license doesn't require attribution, but it's appreciated.
- Documentation in
/docsdirectory - GitHub Issues
- Contact maintainers
Open a GitHub Issue with:
- Description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Environment details
Open a GitHub Issue with the "enhancement" label.
Depends on:
- Server resources
- Database configuration
- Indexing strategy
- Caching implementation
With proper setup, thousands of tickets.
- Add database indexes
- Implement pagination
- Use caching
- Enable compression
- Use CDN for static assets
Yes, you can add custom integrations by:
- Adding new controllers
- Using webhooks
- API calls to other services
Yes, via API endpoints. See API Documentation.
git pull origin main
npm install
pm2 restart nexusNo, database schema is backward compatible. Always backup before updating.
As needed for bug fixes and features. Check GitHub for release history.
Yes, edit the CSS in public/index.html.
Yes, modify the Ticket model in models/Ticket.js.
Not currently, but you can build one using the API.
Yes, via API or directly from MongoDB.
Yes, create a script to import via API or directly to MongoDB.