-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7da55b1
commit f10abe8
Showing
1 changed file
with
88 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,89 @@ | ||
# team-off-api | ||
|
||
TODO | ||
# Team Off - Spring Boot Day-Off Management REST API 🌅 | ||
|
||
## Overview | ||
Team Off is a Spring Boot-based REST API designed to simplify the registration and management of day-off and vacation schedules for users and teams. The application offers authentication through email and supports OAuth2 integration with popular platforms like Google, Github, and Slack. | ||
|
||
Effortlessly manage entire teams' schedules with specialized endpoints dedicated to retrieving all events. Whether you're planning the next sprint or determining task assignments, these endpoints provide a seamless solution for comprehensive team schedule management. | ||
|
||
### Features | ||
|
||
- **Efficient Schedule Management:** | ||
- Empowers users to easily register and manage day-off and vacation schedules. | ||
- Users can easily be assigned to teams, ensuring ease of use and intuitive team management | ||
- Endpoints that retrieve all events from teams, making it a breeze to manage entire teams schedules | ||
|
||
- **Robust Authentication:** | ||
- Ensures security through multiple authentication methods. | ||
- `WIP` Supports email authentication and OAuth2 providers such as Google, Github, and Slack. | ||
|
||
- **Seamless Integration:** | ||
- Provides a flexible and intuitive REST API. | ||
- Enables effortless integration with client applications, allowing developers to interact with the system with ease. | ||
## Technologies Used | ||
|
||
- ⚙️ Spring Boot | ||
- 🔐 Spring Security | ||
- 🐘 PostgreSQL | ||
- 🔒 OAuth2 | ||
- 🚀 Hibernate | ||
- 🛠️ Dokku | ||
- 🐳 Docker | ||
## Docs / Swagger | ||
The docs to all endpoints can be found/tested here: | ||
|
||
[api.pegorari.dev/swagger-ui/index.html](https://api.pegorari.dev/swagger-ui/index.html) | ||
|
||
|
||
## Deploy | ||
|
||
### Enviroment Variables | ||
|
||
In order to run the project it's very important that you set the following enviroment variables: | ||
|
||
`DATABASE_URL` | ||
|
||
`POSTGRES_USER` | ||
|
||
`POSTGRES_PASSWORD` | ||
|
||
`JWT_SECRET` | ||
|
||
|
||
### Using classic Maven (Linux) | ||
|
||
In order to deploy you'll need a running postgres Database. Make sure to set the Database URL into `DATASOURCE_URL` enviroment variable or else the build will fail. | ||
|
||
Clone the project | ||
|
||
```bash | ||
git clone https://github.com/team-off-app/team-off-api.git | ||
``` | ||
|
||
Navigate to the project folder | ||
|
||
```bash | ||
cd team-off-api | ||
mvn clean package install | ||
``` | ||
|
||
After `BUILD SUCESS` navigate to target folder and run the .jar | ||
|
||
```bash | ||
cd target | ||
java -jar <name_of_jar.jar> | ||
``` | ||
## Database Modeling | ||
|
||
![App Screenshot](https://i.imgur.com/OZnSfTp.png) | ||
|
||
|
||
## Author | ||
|
||
- [@matheuspegorari](https://www.github.com/matheuspegorari) | ||
|
||
|
||
## License | ||
|
||
⚖️ [MIT](https://choosealicense.com/licenses/mit/) | ||
|