A RESTful API for managing digital debit cards within a family, built using Spring Boot. The application allows families to create, update, retrieve, and delete cash cards, ensuring secure access and management.
-
CRUD Operations: Create, read, update, and delete cash cards.
-
Authentication & Authorization: Secure endpoints using Spring Security.
-
Data Persistence: Store and retrieve data using Spring Data JDBC.
-
Pagination & Sorting: Efficiently handle lists of cash cards.
-
Testing: Implement test-driven development for reliable code.
-
Spring Boot: Framework for building the API.
-
Spring Security: Secures the application.
-
Spring Data JDBC: Manages database interactions.
-
JUnit: Framework for testing.
-
Java 8 or higher
-
Maven or Gradle
-
A database (e.g., H2, MySQL, PostgreSQL) {H2 is used here}
- Clone the repository:
git clone https://github.com/kannanjayachandran/Family-Finance-API.git
cd Family-Finance-API
- Build and run the application:
Using Maven:
mvn clean install
mvn spring-boot:run
Using Gradle:
./gradlew build
./gradlew bootRun
The API is accessible at http://localhost:8080/
.
POST http://localhost:8080/cashcards
GET http://localhost:8080/cashcards/{id}
PUT http://localhost:8080/cashcards/{id}
DELETE http://localhost:8080/cashcards/{id}
GET http://localhost:8080/cashcards
The API is secured using Spring Security. To access the endpoints, you need to provide a valid username and password.
Run the tests using Maven or Gradle:
Using Maven:
mvn test
Using Gradle:
./gradlew test
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.