- Build a rule-based chatbot
- Web application running locally (localhost)
- Short development time (~2 months)
- Keep the tech stack low, use technologies with existing expertise
- Competently avoid topics outside the defined scope
- Chatbot capable of answering questions within a defined range
- Simple, easy-to-use UI with a space-themed design
- Basic login functionality with predefined users (database)
- Integration of APIs for extended information on the topic
- Documentation on GitLab, including interaction flow
- Authentication and authorization
- Scalability for multiple users
- Data privacy in the database
- Multilingual support
- Logging
- Analytics and feedback tools
- Testing strategy
- Basic information about life, daily work, and experiments on a space station
- Information on astronaut training and education
- Importance of spaceflight technology
- Target audience: Students, young professionals, and aspiring space pilots
- Challenges and psychological impacts
- Future space missions
- Building space colonies
- Role of spaceflight in the future of humanity
- [Python]
- Java
- [JavaScript]
- Ruby
- C#
Python for chatbot logic
- Simplicity and readability
- Wide range of libraries (NLTK, spaCy)
- Scalability and performance limitations suitable for this scope
- Good integration with many systems and frameworks
- Well-documented
JavaScript for web interactions
- Complements Python well
- Suited for frontend development
Criteria:
- Good integration with web frameworks
- Well-documented and easy to understand, given the short development time
- Rule-based approach
- General-purpose, not overly specialized
Selection:
- Botpress (personal preference, focusing on Python rather than JS)
- [Rasa]
- ChatterBot (too simple, potentially harder to integrate into a web framework)
- Microsoft Bot Framework (too complex)
- Dialogflow (requires Google infrastructure)
- Wit.ai (potentially limited functionality options)
- [Flask]
- Django (too rigid and heavyweight for this scope)
- Database
- API integrations
- Container technology
- Logging, testing, and analytics