A Spring Boot web application that transforms documents into comprehensive FAQ formats with ease.
Doc2FAQ is designed to help users convert various types of documents (technical documentation, user manuals, knowledge base articles) into well-structured, accessible FAQ content. This application provides an intelligent way to generate questions and answers from existing documentation.
- 📄 Document upload and processing
- 🤖 Intelligent question generation
- 📋 FAQ formatting and organization
- 📤 Export capabilities in multiple formats
- 🎨 User-friendly web interface
- 🔍 Search and filter functionality
Before running this application, make sure you have the following installed:
- Java 17 or higher
- Maven 3.6+ (for building the project)
- Git (for version control)
git clone <repository-url>
cd doc2faq-appmvn clean compilemvn testmvn spring-boot:runAlternatively, you can build and run the JAR file:
mvn clean package
java -jar target/doc2faq-app-0.0.1-SNAPSHOT.jarOnce the application is running, open your web browser and navigate to:
http://localhost:8080
You should see the Doc2FAQ landing page with a welcome message and feature overview.
doc2faq-app/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/doc2faq/app/
│ │ │ ├── Doc2FaqApplication.java # Main Spring Boot application
│ │ │ └── controller/
│ │ │ └── HomeController.java # Landing page controller
│ │ └── resources/
│ │ ├── templates/
│ │ │ └── index.html # Landing page template
│ │ └── application.properties # Application configuration
│ └── test/
│ └── java/
│ └── com/doc2faq/app/
│ └── Doc2FaqApplicationTests.java # Basic application tests
├── pom.xml # Maven configuration
├── .gitignore # Git ignore rules
└── README.md # This file
The application uses the following default configuration:
- Server Port: 8080
- Context Path: /
- Thymeleaf Templates: Located in
src/main/resources/templates/
You can modify these settings in src/main/resources/application.properties.
- Create feature branches from
main - Follow the existing package structure under
com.doc2faq.app - Add appropriate tests for new functionality
- Update documentation as needed
The application includes Spring Boot DevTools for hot reloading during development:
mvn spring-boot:runChanges to Java files will require a restart, but template and static resource changes will be picked up automatically.
Run the test suite with:
mvn testFor integration tests:
mvn verifyTo create a production-ready JAR file:
mvn clean package -PprodThe JAR file will be created in the target/ directory.
-
Port 8080 already in use
- Change the port in
application.properties:server.port=8081 - Or kill the process using port 8080
- Change the port in
-
Java version issues
- Ensure you're using Java 17 or higher
- Check with:
java -version
-
Maven build failures
- Ensure Maven is properly installed:
mvn -version - Clear Maven cache:
mvn dependency:purge-local-repository
- Ensure Maven is properly installed:
If you encounter issues:
- Check the application logs for error messages
- Verify all prerequisites are installed correctly
- Ensure no other applications are using port 8080
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This application is ready for development! The next phases will include:
- Document upload functionality
- AI-powered question generation
- FAQ formatting and export features
- User authentication and management
- Advanced search and filtering capabilities
Status: ✅ Initial setup complete - Ready for development!