Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arsy786/student-demo
Basic Student Management System that provides basic CRUD functionality. This is part of a series of demo applications that each will add more complexity and features to previous versions.
https://github.com/arsy786/student-demo
2022 demo java rest-api spring-boot
Last synced: about 2 months ago
JSON representation
Basic Student Management System that provides basic CRUD functionality. This is part of a series of demo applications that each will add more complexity and features to previous versions.
- Host: GitHub
- URL: https://github.com/arsy786/student-demo
- Owner: arsy786
- Created: 2022-03-23T16:39:34.000Z (almost 3 years ago)
- Default Branch: v4
- Last Pushed: 2024-03-14T17:08:49.000Z (11 months ago)
- Last Synced: 2024-03-15T02:39:45.704Z (11 months ago)
- Topics: 2022, demo, java, rest-api, spring-boot
- Language: Java
- Homepage:
- Size: 111 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Student Demo Application
The Student Demo Application is a basic Student Management System designed to provide fundamental CRUD (Create, Read, Update, Delete) functionality. Developed with Spring Boot, this project serves as a foundational step in a series of demo applications. Each iteration of the project introduces additional complexity and features, offering an incremental learning curve for those interested in mastering Spring Boot for scalable applications.
The project is organized into four main branches, each representing a different version of the application with varying levels of complexity:
- **Version 1 (v1)**: Features one table, manual testing, and utilizes an in-memory database.
- **Version 2 (v2)**: Also features one table but includes automated tests (limited to 2xx HttpStatus Code tests only) and utilizes an in-memory db.
- **Version 3 (v3)**: Continues with one table but includes comprehensive automated tests and utilizes an in-memory database.
- **Version 4 (v4)**: Represents the most advanced version with three tables, comprehensive automated tests, and utilizes an in-memory database.## Project Difficulty & Detail (v4)
3 tables, full testing, in memory db
| Difficulty: | Intermediate |
| ----------- | -------------------------------- |
| Model(s): | Student, Lecturer, Course |
| Testing: | JUnit/Mockito, Cucumber, POSTMAN |
| Database: | H2 |## Getting Started
### Prerequisites
- Git
- Java 1.8
- Maven### Cloning & Running the App
1. Open your terminal or command prompt.
2. Clone the repository using Git:
```bash
git clone https://github.com/arsy786/student-demo.git
```3. Navigate to the cloned repository's root directory:
```bash
cd student-demo
```4. Run the following Maven command to build and start the service:
```bash
# For Maven
mvn spring-boot:run# For Maven Wrapper
./mvnw spring-boot:run
```The application should now be running on `localhost:8080`.
### Using the API
The REST API is documented with Swagger. After starting the application, access the Swagger UI to interact with the API at:
```bash
http://localhost:8080/swagger-ui/index.html
```