Skip to content
This repository has been archived by the owner on Apr 21, 2024. It is now read-only.
/ StudentScrollAPI Public archive

This is the REST API behind StudentScroll.

License

Notifications You must be signed in to change notification settings

Leo-Lem/StudentScrollAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StudentScroll API

CI/CD

This is the REST API behind the StudentScroll app (OpenAPI specs).

Here we provide our StudentScroll web app with its functionality.

/api/v2 The REST API (v2) is designed to be as simple and intuitive as possible, whilst providing all required functionality:

  • /account This endpoint describes our account feature. Here we handle everything from sign up, through sign in, to updating credentials (forgotten password, etc.) and deleting your account.

    • /settings Furthermore, you can individualise your account by updating your settings.
  • /students This major endpoint describes our profile feature. Here you can update your individual profile, search for other student's profiles.

    • /followers We have also embedded the following mechanic beneath this endpoint. Here you can follow and unfollow other students.
  • /posts On the posts endpoint, you can, well, post what's on your mind. ALso, you can search for posts and update, or delete, your posts.

  • /chats Our chats feature enables you to create, find, and delete chats.

    • /messages The embedded messages endpoint contains the messages in a given chat. Here you can send messages, update or delete them, as well as find a given message.
  • /maps This minor endpoint retrieves the Google Maps API key from our backend.

Building, testing, and running the StudentScrollAPI

The StudentScrollAPI uses Maven as dependency manager and build tool.

Since the beginning, we have updated the way we run things. We now include a Maven wrapper. With this you can trigger any of the Maven lifecycle phases by running the following from the repository root:

> % ./mvnw [compile | test | package | install | ...] # Unix
# or
> % ./mvnw.cmd [compile | test | package | install | ...] # Windows

Additionally, Spring Boot provides a custom run command for trying the project out on your local machine:

> % ./mvnw spring-boot:run # Unix
# or
> % ./mvnw.cmd spring-boot:run # Windows