- π Save your books informations.
- π Authenticate with different users.
- π· Add cover image for books.
- ποΈ Themes: Dark and light mode.
- π¬ Multi-language support.
- πͺ’ Filter result.
- π Badges for users.
- π₯οΈ UI build with Flutter and Material Desing 3
- π‘ Own designed REST API build with ASP.NET.
- π Fast search with Meilisearch.
- π Docker and Docker Compose support.
- π¨ Multi environment build (development, sttaging, production).
- π₯ Integration with Firebase Admim SDK.
- π£οΈ API versioning.
- π€ Output cache.
- Serilog.
- FluentValidation.
- AutoMapper.
- Entity Framework.
- Postgres.
- Flutter
- Docker
- Docker Compose
- Firebase service
The front-end was build with Flutter and have a responsive interface using Responsive Framework package, was created interface for Mobile (480), Tablet (700) and Desktop (1000) screen sizes.
The API manage books and badges, it integrates with Firebase to check the users, was create with ASP.NET using Entity Framework to CRUD into a Postgres database, while all operations is logged by Serilog.
The API have a versioning system especified on requests header and an internal cache system to improve the performance.
Cheke out the Postman collection to see all endpoints and examples:
- GET
/
?limitPerPage=10
?sort=0
?ascending=true
?bookFormat=1
?page=1
?userId=0
- POST
/
-
Has body
?userId=0
-
- PUT
/{bookID:int}
?userId=0
- DELETE
/{bookID:int}
- GET
/
?userId=0
- GET
/
?userId=0
- POST
/
?userId=0
- DELETE
/{badgeID:int}
?userId=0
- GET
/archive
?email=test@test.com
- PUT
/archive
-
Has body
-
- POST
/archive
-
Has body
-
- DELETE
/archive
?email=test@test.com
?badgeCode=0
- GET
/email/{userEmail}
- GET
/id/{firebaseUserUid}
- GET
/search
?query={string}
- GET
/
?userId=0
?query={string}
?limitPerSection=10
To setup the project (development/production environments) click here.