原始内容
TasksMcpServer
A Spring Boot application that provides a task management service using SQLite database. This project demonstrates the integration of Spring Boot with SQLite and JPA for efficient task management.
Features
- Task management with CRUD operations
- SQLite database integration
- JPA/Hibernate for data persistence
- RESTful API endpoints
- Unit tests with JUnit and Mockito
Prerequisites
- Java 21 or higher
- Maven 3.6 or higher
- SQLite 3
Database Schema
The application uses a SQLite database with the following schema:
CREATE TABLE task (
id INTEGER PRIMARY KEY,
name VARCHAR(255),
category VARCHAR(255),
status VARCHAR(255)
);
Sample Data
The application comes pre-populated with sample tasks:
- Complete project documentation (Documentation, PENDING)
- Fix login bug (Bug Fix, IN_PROGRESS)
- Add new feature (Development, PENDING)
- Review pull request (Code Review, PENDING)
- Update dependencies (Maintenance, COMPLETED)
- Write unit tests (Testing, IN_PROGRESS)
- Setup CI/CD pipeline (DevOps, PENDING)
- Optimize database queries (Performance, NOT_STARTED)
- Create API documentation (Documentation, PENDING)
- Security audit (Security, NOT_STARTED)
API Endpoints
- Find task by name
- Find tasks by category
- Create new task (with default status)
Getting Started
- Clone the repository:
git clone https://github.com/yourusername/TasksMcpServer.git
cd TasksMcpServer
- Build the project:
mvn clean package
- Run the application:
java -jar target/TasksMcpServer-0.0.1-SNAPSHOT.jar
Project Structure
TasksMcpServer/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/example/TasksMcpServer/
│ │ │ ├── model/
│ │ │ │ └── Task.java
│ │ │ ├── repository/
│ │ │ │ └── TaskRepository.java
│ │ │ ├── service/
│ │ │ │ └── TasksMcpServerService.java
│ │ │ └── TasksMcpServerApplication.java
│ │ └── resources/
│ │ ├── application.properties
│ │ └── insert.sql
│ └── test/
│ └── java/
│ └── com/example/TasksMcpServer/
│ └── service/
│ └── TasksMcpServerServiceTest.java
├── pom.xml
└── README.md
Configuration
The application can be configured through src/main/resources/application.properties:
spring.datasource.url=jdbc:sqlite:tasks.db
spring.datasource.driver-class-name=org.sqlite.JDBC
spring.jpa.database-platform=org.hibernate.community.dialect.SQLiteDialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Testing
Run the tests using Maven:
mvn test
Dependencies
- Spring Boot 3.4.4
- Spring Data JPA
- SQLite JDBC Driver
- Hibernate Community Dialects
- Spring Boot Test
- JUnit 5
- Mockito
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request