Skip to content

"A Serbian Dictionary of Recent Anglicisms" | A full-stack Java project | 2024

Notifications You must be signed in to change notification settings

bakastrumpf/srna-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

srna-demo: "A Serbian Dictionary of recent Anglicisms"


A full-stack Java project.

This is a demo project to display the development of a dictionary in the form of a Java web app after its print version has already been released. Dictionary entries that I rely on in my DB can be found in the “Serbian dictionary of recent Anglicisms” (Serbian original: Srpski rečnik novijih anglicizama, short: SRNA).


For the frontend part, I rely on the MVC architecture with the combo of HTML, CSS, and Bootstrap.


Secondly, for the database, I use mariaDB dialect of MySQL.

A dictionary entry has 8 fields visible to the guest (orthography, pronunciation, unacceptable forms, original English form with its adaptation to Serbian, meaning, usage examples, fixed expressions or collocations, cross references) and 4 fields visible to authors and associates (id, author, source, date [automatically recorded when the entry is added]). The presentation of a dictionary entry is constant and does not change.


Finally, for the backend part, the app is written in Java, relying on Spring and Spring Boot. Later, once all this is functional, I may write the logic in PHP as well, relying on the same DB and frontend.


The dict web app works with two types of entities:

  1. users: admin, author, associate, guest, and
  2. dictionary entries

All users but guests have an id, name, last name, email, password, and a role; and can edit their profile data, but cannot delete their profile. The guest user is the only user who cannot register himself. Only admin can add a new user or delete a user. Only authors can delete dictionary entries. Associates can add and edit dictionary entries. A guest can only browse and preview dictionary entries.


A user can login and logout. Upon successful login, a user is allowed access to the functionalities defined for the user role.


Problems

  • Exception handling: when a guest performs a search with no results (null value), display a message?
  • How to display dictionary entries that have multiple meanings? Are they separate entries, or should they be displayed within a single, umbrella entry?
  • In the beginning, before enabling work with DB, maybe use dictionary entries in JSON files stored within the project code.



Description to be updated in the future.