Skip to content

pio-kol/accouting-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Accouting-system

Accounting system with possibility to add invoices, calculate taxes, generate PDFs and send emails. There are multiple implementations of databases provided to exercise various concepts: sql, no-sql, custom file database. The Project contains 8 various REST services, over 295 test cases and over 27618 lines of code with 80% test coverage.

Code style

js-standard-style

Tech/framework used

Built with

Installation

  • Using JDK 1.8 is recomended. Project was test on this JDK version.
    1) Open project with your IDE eg. IntellJI, Eclipse
    2) Set checkstyle to google-checkstyle
    3) Generate binding classes from src\main\resources\invoice.xsd.
    Run Maven-compile or use command 'xjc -d src -p com.example.xjc example.xsd' in terminal
    4) You can run Maven-verify to check, if project builds correctly.

Setup Database

In application you can choose between six databases:

  • InFile

  • Multifile

  • Mongo

  • Mongo embedded

  • SQL (JDBC)

  • SQL (Hibernate)

  • and InMemmory database (set by default).

    private static final String IN_FILE = "inFile";
    private static final String MULTIFILE = "multifile";
    private static final String MONGO = "mongo";
    private static final String MONGO_EMB = "mongo_emb";
    private static final String SQL_DB = "sql_db";
    

You can change the database in 'application.properties` file

pl.coderstrust.database.MasterDatabase=mongo_emb
pl.coderstrust.database.FilterDatabase=mongo_emb

API Reference

Start the application and open the URL for API Documentation http://localhost:8080/swagger-ui.html Swagger API

Tests

We have three different types of tests : JUnit, integrations, and E2E tests.
To run e2e tests :
1) Run main application
2) Build E2E project from gradle build file ( /e2e/build.gradle ) as separate project.
3) Enable annotation processing for lombok.
Enable annotations 4) Run e2e tests as TestNG.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •