Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/peterbrain/tars

TARS - Time and Activity Recording Software
https://github.com/peterbrain/tars

activity-management activity-recording hibernate java mysql spring spring-data-jpa spring-mvc spring-security thymeleaf time-management time-recording

Last synced: 15 days ago
JSON representation

TARS - Time and Activity Recording Software

Awesome Lists containing this project

README

        

# TARS - Time and Activity Recording Software

## Purpose
This piece of software should help memebers of a company, and the company itself, to manage working hours and activities on different projects. Therefore TARS - Time and Activity Recording Software (pretty self-explaining).

## Setup Guide
1. Clone github repo
1. In Eclipse select `File` -> `Import` -> `Existing Projects into Workspace` -> `Browse Folder` -> `Finish`
1. Check Project-Properties (Java Build Path, Targeted Runtimes, ...)
1. Create and fill `src/db.properties` file as shown below
1. Edit `WebContent/WEB-INF/dispatcher-servlet.xml` at bean with `id="mailSender"` and set username and password for [mailtrap.io](https://mailtrap.io/)
1. Publish project to Tomcat and start Tomcat
1. Open Web application ([http://localhost:8080/Tars/](http://localhost:8080/Tars/))
1. Call [http://localhost:8080/Tars/fillUsers](http://localhost:8080/Tars/fillUsers) to fill the database with testing data
1. Log in with credentials (Pattern: [username]/[password]): admin/password, user/password

**`db.properties`** file at the root of **`src`** folder:
```
db.url=jdbc:mysql://localhost/xxx
db.username=xxx
db.password=xxx
```

**`dispatcher-servlet.xml`** file at the root of **`WebContent/WEB-INF`** folder:
```xml






true
true

```
Fill in your username and password of [mailtrap.io](https://mailtrap.io/)!

## Available Users
The table below shows some available users added by the `/fillUsers` call. The password for all users is `password`.

| Username | Role |
| :------------ | :------------- |
| admin | ADMIN |
| projectleader | PROJECT-LEADER |
| user | USER |
| lindsey | PROJECT-LEADER |
| charlene | USER |
| tim | PROJECT-LEADER |
| devin | USER |
| nancy | PROJECT-LEADER |

## Workload distribution
The table below shows the members of the team, who worked on specific features. At the end of the project all team members worked on each feature in the backend and frontend.

| Feature / Work | Team Member(s) |
| :-------------------- | :------------------------------------- |
| User Management | Köstinger Nikolaus, Löcker Peter |
| Entries | Kazianschütz Kevin, Löcker Peter |
| Projects & Categories | Kazianschütz Kevin, Löcker Peter |
| Export | Löcker Peter |
| Security Messages | Kazianschütz Kevin, Köstinger Nikolaus |
| Charts | Köstinger Nikolaus |
| Modification History | Kazianschütz Kevin, Köstinger Nikolaus |

## Lessons learned
* The most difficult part has to do with FetchType.Lazy. We didn't manage to get this working (so used EAGER)
* At first we used DAOs and entitiyManager for database queries. Later on it was much more difficult to add Spring Data JPA to the project. It would have saved us some time, if we had used it from the beginning.
* Time & activity recording (who did what?) was difficult at the end. We should have used this software for this project. How recursive is that?

## Contributors
* [@xK3v](https://github.com/xK3v) - Kazianschütz Kevin
* [@DiOps](https://github.com/DiOps) - Köstinger Nikolaus
* [@PeterBrain](https://github.com/PeterBrain) - Löcker Peter

---
This project was set up for the "Software engineering advanced" lecture at [FH JOANNEUM](https://www.fh-joanneum.at/) Graz.