Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rishabh-agarwal/courseapidata
CourseApiData is a Spring Boot project offering a RESTful API for managing courses and topics with CRUD operations. It uses an in-memory H2 database for quick setup and serves as a template for learning and building scalable API services. Perfect for developers at any level to explore and expand upon.
https://github.com/rishabh-agarwal/courseapidata
hibernate java maven springboot springdatajpa sts
Last synced: about 11 hours ago
JSON representation
CourseApiData is a Spring Boot project offering a RESTful API for managing courses and topics with CRUD operations. It uses an in-memory H2 database for quick setup and serves as a template for learning and building scalable API services. Perfect for developers at any level to explore and expand upon.
- Host: GitHub
- URL: https://github.com/rishabh-agarwal/courseapidata
- Owner: rishabh-agarwal
- Created: 2018-01-12T15:46:08.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-08-11T05:16:00.000Z (3 months ago)
- Last Synced: 2024-08-11T06:25:46.919Z (3 months ago)
- Topics: hibernate, java, maven, springboot, springdatajpa, sts
- Language: Java
- Homepage:
- Size: 55.7 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CourseApiData
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.
## Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Running the Application](#running-the-application)
- [API Endpoints](#api-endpoints)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)## Overview
**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.
## Features
- **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.## Getting Started
### Prerequisites
Before you begin, ensure you have the following installed:
- **Java 11** (or higher)
- **Maven** (for dependency management and build)
- **Git** (to clone the repository)### Installation
1. **Clone the repository:**
```bash
git clone https://github.com/rishabh-agarwal/CourseApiData.git
cd CourseApiData
```2. **Build the project:**
Use Maven to build the project and resolve dependencies:
```bash
mvn clean install
```### Running the Application
After building the project, you can run the application using Maven:
```bash
mvn spring-boot:run
```The application will start on `http://localhost:8080`.
## API Endpoints
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## Contributing
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Make your changes.
4. Commit your changes (`git commit -m 'Add some feature'`).
5. Push to the branch (`git push origin feature-branch`).
6. Open a Pull Request.## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Contact
If you have any questions or feedback, feel free to reach out:
- **Rishabh Agarwal**
- GitHub: [@rishabh-agarwal](https://github.com/rishabh-agarwal)
- Email: [Your Email Address]