Skip to content

FintinaOlivia/Travellers-Guild-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Traveller's Guild [ONGOING PROJECT]

Hi! This is a pretty ambitious project that is still in the making, with the aim of helping the user with the self-reflection in terms of relating to fictional characters and interacting with fictional content.

The intention is for the user to input the media they are currently consuming, to note their favourite characters and their traits, and then analyse the data provided.

Currently, the app is capable of handling the input of the user's favourite characters, as well as validating the given data.

Features

Backend (Spring Boot)

  • Layered Architecture: The backend is structured using a layered architecture pattern, with separate layers for controllers, services, repositories, and models. This promotes modularity, maintainability, and separation of concerns.
  • Encapsulation: Business logic and data access are encapsulated within service classes, promoting code organization and reusability.
  • RESTful API: The backend provides a robust and scalable RESTful API for managing characters and accessing analysis data.
  • Data Validation: Input data is validated using Spring's validation framework to ensure data integrity and security.
  • Error Handling: Comprehensive error handling mechanisms are implemented to provide meaningful error messages and handle exceptions gracefully.
  • Authentication: Authentication and session management are implemented using JWT, currently featuring 'ADMIN' and 'USER' in terms of authority isolation.

  • Component-Based Architecture: The frontend is developed using React, following a component-based architecture. Each UI element is encapsulated within a reusable component, promoting code modularity and reusability.
  • State Management: State management is handled efficiently using Redux, ensuring predictable state behavior and efficient UI updates.
  • Responsive Design: The frontend is designed to be responsive and mobile-friendly, providing a seamless user experience across devices and screen sizes.
  • UI/UX Best Practices: User interface and user experience design principles are followed to create an intuitive and visually appealing interface, enhancing user engagement and satisfaction.
  • Code Splitting: Code splitting techniques are employed to optimize performance and reduce initial load times, ensuring a smooth user experience.
  • Error Handling: Frontend components include error handling mechanisms to gracefully handle unexpected errors and provide informative error messages to users.
  • Testing: Unit tests tests are implemented to ensure the reliability and stability of frontend components, following testing best practices.

Bonus Features

Backend

  • Autogeneration of Data: The backend uses the Faker library to autogenerate data, in order to monitor, test and improve the user experience by testing the response times and behaviour of the application when it comes to large datasets.

Frontend

  • Charting: The frontend includes charting features to visualize character data and trends, making it easier for users to interpret the analysis results.
  • Offline Warnings: The frontend detects server or internet connectivity issues and provides warnings to the user, ensuring a seamless experience even in challenging network conditions.

About

A little full-stack application with React and Spring :)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published