Adopt-Me

Java Intellij Spring Boot Git Spring Security JWT PostgreSQL GitHub

Table of Contents

Description

  • Pet adoption social media for the modern age
  • Frontend

Approach

  • After designing the frontend mockup in Figma I started drawing out the ERD for the project making sure I thoroughly mapped out all the tables and the relationships. I then listed and researched all the technologies I thought I would need to make this project a reality. I then got a second set of eyes to help me review the plans and iron out any mistakes or inefficient ideas.
  • I then broke up the project onto smaller more digestible pieces and make a planning board with these pieces. The backend was the main focus in the beginning using TDD and postman to make sure everything was working as intended. I started with public endpoints first then moved on into the private endpoints and security. Once all the tests passed and the postman returned all the correct data I moved onto the frontend and called the api from there.

Other Tools And Tech

  • JPA
  • Cucumber
  • H2 Database
  • Postman
  • Kanban board
  • JUnit

Board.

User-Stories

  • As a user, I should be able to register.
  • As a user, I should be able to log in.
  • As a user, I should be able to log out.
  • As a logged-in user, I should be able to see a carousel of animals.
  • As a logged-in user, I should be able to like the animals in the carousel.
  • As a logged-in user, I should be able to see a list of liked animals (these liked animals show contact information for adoption).
  • As a logged-in user, I should be able to remove animals from the animal liked list.

ERD. Postman.

Endpoints for all users

Request Type URL Functionality Access
POST /auth/users/register/ Request to create a new user Public
POST /auth/users/login/ Responsible for logging in a user Public
GET /api/animal/ Returns all animals Public

Endpoints for registered users

Request Type URL Functionality Access
POST /api/like/{animalId} Add animal to user like list Private
DELETE /api/like/{animalId} Delete animal from user like list Private
GET /api/user/{userId}/likes Get liked animals by user Private

Features

  • User login
  • User register
  • Private security endpoints

Installation

To set up the app locally on your own system:

  1. Fork this repository
  2. Clone the repo to your local machine using the link from the green <>Code combo button:
git clone <https://github.com/{GitHub UserName}/Adopt-Me_backend>

  1. Then open the repo in IntelliJ or your IDE of choice
  2. All required dependencies are included

Dependencies Used

Documentation Used

Credit