Welcome to the CourseApiData repository! This project is an API-based application designed to manage courses, topics, and other related data. It demonstrates the use of Spring Boot for building RESTful services and is suitable for anyone looking to understand how to structure and implement a basic API service in Java.
CourseApiData is a Spring Boot application that provides RESTful API endpoints to perform CRUD operations on courses and topics. It uses an in-memory database (H2) for data storage and includes sample data to help you get started quickly.
- CRUD Operations: Create, Read, Update, and Delete courses and topics.
- RESTful API: Exposes endpoints for managing courses and topics.
- In-memory Database: Uses H2 for quick setup and testing.
- Spring Boot: Built using Spring Boot for easy configuration and deployment.
Before you begin, ensure you have the following installed:
- Java 11 (or higher)
- Maven (for dependency management and build)
- Git (to clone the repository)
-
Clone the repository:
git clone https://github.com/rishabh-agarwal/CourseApiData.git cd CourseApiData
-
Build the project:
Use Maven to build the project and resolve dependencies:
mvn clean install
After building the project, you can run the application using Maven:
mvn spring-boot:run
The application will start on http://localhost:8080
.
Here are some of the key API endpoints available:
-
GET /topics: Get all topics
-
GET /topics/{id}: Get a specific topic by ID
-
POST /topics: Create a new topic
-
PUT /topics/{id}: Update an existing topic
-
DELETE /topics/{id}: Delete a topic by ID
-
GET /courses: Get all courses
-
GET /courses/{id}: Get a specific course by ID
-
POST /courses: Create a new course
-
PUT /courses/{id}: Update an existing course
-
DELETE /courses/{id}: Delete a course by ID
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or feedback, feel free to reach out:
- Rishabh Agarwal
- GitHub: @rishabh-agarwal
- Email: [Your Email Address]