An open API service indexing awesome lists of open source software.

https://github.com/brice150/pickme


https://github.com/brice150/pickme

angular apis css3 html5 java postgres spring-boot typescript

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

          





# PICK ME, a dating web application

Frontend : Angular


Backend : Spring Boot

Pages Features

### Connect

- Register by completing mandatory information with form control
- Login with failure animation for bad credentials
- Logout is available on menu once logged in

### Demo

- Demo of the application when you have registered
- View and try key features of the application

### Select

- View profiles that are similar to yours by distance
- Swipe profiles and go back if you want to
- Like or Dislike a profile
- Match animation
- View more information about a profile

### Profile

- Add or Delete pictures and Select main profile picture
- Modify your profile
- Cancel modifications retrieves previous profile information
- Delete your account (needs confirmation)

### Match

- View profiles that matched with you
- Search a user
- Dislike a profile
- View more information about a profile and messages
- Add, Update or Delete a message

### Admin

- Admin role needed to view this page
- Search users and deleted accounts by email and sort them
- Get application stats
- View more information about a profile
- Delete a user

### More Info

- View full user profile
- Swiper user pictures
- Like, Dislike or Delete if you are an admin user

### Notifications

- New notification for each message or match
- Mark notifications as seen

Run Locally

### Clone the project

```bash
git clone https://github.com/Brice150/PICKME.git
```

### Go to backend directory

--> Run application on Intellij

### Install dependencies

```bash
npm install
```

### Start the server

```bash
ng serve -o
```

API Reference



Connection

### Register

```http
POST /registration
```

### Login

```http
GET /login
```

### Logout

```http
GET /logout
```


Admin

### Get admin stats

```http
GET /admin/stats
```

### Get all users

```http
POST /admin/user/all/${page}
```

### Get all deleted accounts

```http
POST /admin/deleted-account/all/${page}
```

### Delete user

```http
DELETE /admin/${userId}
```


User

### Get all selected users

```http
GET /user/all/${page}
```

### Get connected user

```http
GET /user
```

### Update user

```http
PUT /user
```

### Delete connected user

```http
DELETE /user
```


Message

### Add message

```http
POST /message
```

### Update message

```http
PUT /message
```

### Delete message

```http
DELETE /message/${messageId}
```


Like

### Add like

```http
POST /like/${userId}
```


Dislike

### Add dislike

```http
POST /dislike/${userId}
```


Picture

### Add picture

```http
POST /picture
```

### Select main picture

```http
PUT /picture/${pictureId}
```

### Delete picture

```http
DELETE /picture/${pictureId}
```


Match

### Get all user matches

```http
GET /match/all
```


Notification

### Get all user notifications

```http
GET /notification/all
```

### mark all user notifications as seen

```http
PUT /notification
```