Skip to content

Commit c727cca

Browse files
committed
Initial commit
0 parents  commit c727cca

File tree

72 files changed

+4039
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+4039
-0
lines changed

.gitignore

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
HELP.md
2+
target/
3+
!.mvn/wrapper/maven-wrapper.jar
4+
!**/src/main/**/target/
5+
!**/src/test/**/target/
6+
7+
### STS ###
8+
.apt_generated
9+
.classpath
10+
.factorypath
11+
.project
12+
.settings
13+
.springBeans
14+
.sts4-cache
15+
16+
### IntelliJ IDEA ###
17+
.idea
18+
*.iws
19+
*.iml
20+
*.ipr
21+
22+
### NetBeans ###
23+
/nbproject/private/
24+
/nbbuild/
25+
/dist/
26+
/nbdist/
27+
/.nb-gradle/
28+
build/
29+
!**/src/main/**/build/
30+
!**/src/test/**/build/
31+
32+
### VS Code ###
33+
.vscode/

.mvn/wrapper/maven-wrapper.jar

61.1 KB
Binary file not shown.

.mvn/wrapper/maven-wrapper.properties

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.5/apache-maven-3.9.5-bin.zip
2+
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar

README.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# Veteriner Yönetim Sistemi
2+
3+
Veteriner Yönetim Sistemi, bir veteriner kliniğinin işlerini yönetmesine yardımcı olan bir RESTful API'dir. Bu API, veteriner doktorları, müşteriler, hayvanlar, aşılar ve randevular dahil olmak üzere çeşitli kaynakları yönetmek için endpoint'ler sağlar.
4+
5+
## Teknolojiler
6+
7+
- Java 11
8+
- Spring Boot
9+
- Spring Data JPA
10+
- Hibernate
11+
- PostgreSQL
12+
- Maven
13+
14+
## Başlıca Özellikler
15+
16+
- Veteriner doktorları kaydetme, güncelleme, görüntüleme ve silme
17+
- Doktorların müsait günlerini kaydetme, güncelleme, görüntüleme ve silme
18+
- Müşterileri kaydetme, güncelleme, görüntüleme ve silme
19+
- Müşterilere ait hayvanları kaydetme, güncelleme, görüntüleme ve silme
20+
- Hayvanlara uygulanan aşıları kaydetme, güncelleme, görüntüleme ve silme
21+
- Hayvanlar için veteriner hekimlere randevu oluşturma, güncelleme, görüntüleme ve silme
22+
23+
## API Endpoint'leri
24+
25+
### Veteriner Doktorları Yönetme
26+
27+
- `POST /v1/doctors`: Yeni bir doktor oluşturur.
28+
- `GET /v1/doctors/{id}`: Belirli bir ID'ye sahip doktoru alır.
29+
- `PUT /v1/doctors`: Bir doktoru günceller.
30+
- `DELETE /v1/doctors/{id}`: Belirli bir ID'ye sahip doktoru siler.
31+
32+
### Doktorların Müsait Günlerini Yönetme
33+
34+
- `POST /v1/available-dates`: Yeni bir müsait tarih oluşturur.
35+
- `GET /v1/available-dates/{id}`: Belirli bir ID'ye sahip müsait tarihi alır.
36+
- `PUT /v1/available-dates`: Bir müsait tarihi günceller.
37+
- `DELETE /v1/available-dates/{id}`: Belirli bir ID'ye sahip müsait tarihi siler.
38+
39+
### Müşterileri Yönetme
40+
41+
- `POST /v1/customers`: Yeni bir müşteri oluşturur.
42+
- `GET /v1/customers/{id}`: Belirli bir ID'ye sahip müşteriyi alır.
43+
- `PUT /v1/customers`: Bir müşteriyi günceller.
44+
- `DELETE /v1/customers/{id}`: Belirli bir ID'ye sahip müşteriyi siler.
45+
46+
### Müşterilere Ait Hayvanları Yönetme
47+
48+
- `POST /v1/animals`: Yeni bir hayvan oluşturur.
49+
- `GET /v1/animals/{id}`: Belirli bir ID'ye sahip hayvanı alır.
50+
- `PUT /v1/animals`: Bir hayvanı günceller.
51+
- `DELETE /v1/animals/{id}`: Belirli bir ID'ye sahip hayvanı siler.
52+
53+
### Hayvanlara Uygulanan Aşıları Yönetme
54+
55+
- `POST /v1/vaccines`: Yeni bir aşı oluşturur.
56+
- `GET /v1/vaccines/{id}`: Belirli bir ID'ye sahip aşıyı alır.
57+
- `PUT /v1/vaccines`: Bir aşıyı günceller.
58+
- `DELETE /v1/vaccines/{id}`: Belirli bir ID'ye sahip aşıyı siler.
59+
60+
### Hayvanlar İçin Veteriner Hekimlere Randevu Oluşturma
61+
62+
- `POST /v1/appointments/create`: Yeni bir randevu oluşturur.
63+
- `GET /v1/appointments/{id}`: Belirli bir ID'ye sahip randevuyu alır.
64+
- `PUT /v1/appointments`: Bir randevuyu günceller.
65+
- `DELETE /v1/appointments/{id}`: Belirli bir ID'ye sahip randevuyu siler.
66+
- `GET /v1/appointments/doctor/{doctorId}`: Retrieves appointments for a specific doctor within a specific date range.
67+
- `GET /v1/appointments/animal/{animalId}`: Retrieves appointments for a specific animal within a specific date range.
68+
69+
### Veritabanı Yapısı
70+
71+
Veritabanı altı ana varlık içerir: `Doktor`, `UygunTarih`, `Müşteri`, `Hayvan`, `Aşı`, ve `Randevu`.
72+
73+
- `Doktor`: Klinikteki veterinerleri temsil eder. Her doktorun bir `UygunTarih` ve `Randevu` listesi bulunur.
74+
- `UygunTarih`: Bir doktorun uygun tarihlerini temsil eder. Her uygun tarih bir `Doktor` ile ilişkilidir.
75+
- `Müşteri`: Kliniğin müşterilerini temsil eder. Her müşterinin bir `Hayvan` listesi bulunur.
76+
- `Hayvan`: Müşterilere ait hayvanları temsil eder. Her hayvan bir `Müşteri` ile ilişkilidir ve bir `Aşı` ve `Randevu` listesine sahiptir.
77+
- `Aşı`: Hayvanlara uygulanan aşıları temsil eder. Her aşı bir `Hayvan` ile ilişkilidir.
78+
- `Randevu`: Hayvanların bir doktora görünmesi için yapılan randevuları temsil eder. Her randevu bir `Doktor` ve bir `Hayvan` ile ilişkilidir.
79+
80+
81+
## Kurulum
82+
83+
1. Projeyi yerel makinenize klonlayın.
84+
2. `application.properties` dosyasını kendi veritabanı ayarlarınıza göre düzenleyin.
85+
3. Maven ile projeyi derleyin ve çalıştırın.
86+
87+
## Katkıda Bulunma
88+
89+
Bu proje açık kaynaklıdır ve katkılarınıza açıktır. Katkıda bulunmak için lütfen aşağıdaki adımları izleyin:
90+
91+
1. Projeyi Forklayın
92+
2. Kendi Fork'unuzda bir Feature Branch oluşturun (`git checkout -b feature/AmazingFeature`)
93+
3. Değişikliklerinizi Commit edin (`git commit -m 'Add some AmazingFeature'`)
94+
4. Branch'ı Push edin (`git push origin feature/AmazingFeature`)
95+
5. Pull Request oluşturun
96+
97+
## Lisans
98+
99+
Bu proje MIT lisansı altında lisanslanmıştır. Daha fazla bilgi için `LICENSE` dosyasına bakın.

README_EN.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Veteriner Yönetim Sistemi
2+
3+
[English](#english) | [Türkçe](#turkish)
4+
5+
Veterinary Management System is a RESTful API that helps manage the operations of a veterinary clinic. This API provides endpoints to manage various resources, including veterinary doctors, customers, animals, vaccines, and appointments.
6+
## <a name="english"></a>English
7+
8+
### Technologies
9+
10+
- Java 11
11+
- Spring Boot
12+
- Spring Data JPA
13+
- Hibernate
14+
- PostgreSQL
15+
- Maven
16+
17+
### Main Features
18+
19+
- Managing veterinarians: saving, updating, viewing, and deleting
20+
- Managing the available days of doctors: saving, updating, viewing, and deleting
21+
- Managing customers: saving, updating, viewing, and deleting
22+
- Managing animals belonging to customers: saving, updating, viewing, and deleting
23+
- Managing vaccines applied to animals: saving, updating, viewing, and deleting
24+
- Creating appointments for animals to veterinarians: saving, updating, viewing, and deleting
25+
26+
### API Endpoints
27+
28+
#### Managing Veterinarians
29+
30+
- `POST /v1/doctors`: Creates a new doctor.
31+
- `GET /v1/doctors/{id}`: Retrieves a doctor with a specific ID.
32+
- `PUT /v1/doctors`: Updates a doctor.
33+
- `DELETE /v1/doctors/{id}`: Deletes a doctor with a specific ID.
34+
35+
#### Managing the Available Days of Doctors
36+
37+
- `POST /v1/available-dates`: Creates a new available date.
38+
- `GET /v1/available-dates/{id}`: Retrieves an available date with a specific ID.
39+
- `PUT /v1/available-dates`: Updates an available date.
40+
- `DELETE /v1/available-dates/{id}`: Deletes an available date with a specific ID.
41+
42+
#### Managing Customers
43+
44+
- `POST /v1/customers`: Creates a new customer.
45+
- `GET /v1/customers/{id}`: Retrieves a customer with a specific ID.
46+
- `PUT /v1/customers`: Updates a customer.
47+
- `DELETE /v1/customers/{id}`: Deletes a customer with a specific ID.
48+
49+
#### Managing Animals Belonging to Customers
50+
51+
- `POST /v1/animals`: Creates a new animal.
52+
- `GET /v1/animals/{id}`: Retrieves an animal with a specific ID.
53+
- `PUT /v1/animals`: Updates an animal.
54+
- `DELETE /v1/animals/{id}`: Deletes an animal with a specific ID.
55+
56+
#### Managing Vaccines Applied to Animals
57+
58+
- `POST /v1/vaccines`: Creates a new vaccine.
59+
- `GET /v1/vaccines/{id}`: Retrieves a vaccine with a specific ID.
60+
- `PUT /v1/vaccines`: Updates a vaccine.
61+
- `DELETE /v1/vaccines/{id}`: Deletes a vaccine with a specific ID.
62+
63+
#### Creating Appointments for Animals to Veterinarians
64+
65+
- `POST /v1/appointments/create`: Creates a new appointment.
66+
- `GET /v1/appointments/{id}`: Retrieves an appointment with a specific ID.
67+
- `PUT /v1/appointments`: Updates an appointment.
68+
- `DELETE /v1/appointments/{id}`: Deletes an appointment with a specific ID.
69+
- `GET /v1/appointments/doctor/{doctorId}`: Retrieves appointments for a specific doctor within a specific date range.
70+
- `GET /v1/appointments/animal/{animalId}`: Retrieves appointments for a specific animal within a specific date range.
71+
72+
### Database Structure
73+
74+
The database consists of six main entities: `Doctor`, `AvailableDate`, `Customer`, `Animal`, `Vaccine`, and `Appointment`.
75+
76+
- `Doctor`: Represents the veterinarians in the clinic. Each doctor has a list of `AvailableDate` and `Appointment`.
77+
- `AvailableDate`: Represents the available dates of a doctor. Each available date is associated with a `Doctor`.
78+
- `Customer`: Represents the customers of the clinic. Each customer has a list of `Animal`.
79+
- `Animal`: Represents the animals owned by customers. Each animal is associated with a `Customer` and has a list of `Vaccine` and `Appointment`.
80+
- `Vaccine`: Represents the vaccines applied to animals. Each vaccine is associated with an `Animal`.
81+
- `Appointment`: Represents the appointments for animals to see a doctor. Each appointment is associated with a `Doctor` and an `Animal`.
82+
83+
### Installation
84+
85+
1. Clone the project to your local machine.
86+
2. Edit the `application.properties` file according to your database settings.
87+
3. Compile and run the project with Maven.
88+
89+
### Contributing
90+
91+
This project is open source and contributions are welcome. To contribute, please follow the steps below:
92+
93+
1. Fork the project
94+
2. Create a Feature Branch in your own Fork (`git checkout -b feature/AmazingFeature`)
95+
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
96+
4. Push the Branch (`git push origin feature/AmazingFeature`)
97+
5. Create a Pull Request
98+
99+
### License
100+
101+
This project is licensed under the MIT license. For more information, see the `LICENSE` file.

0 commit comments

Comments
 (0)