Git Product home page Git Product logo

java-labs's People

Contributors

burak-guzel avatar code-factor avatar worthant avatar zerumi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

abishekatl

java-labs's Issues

Serialization

Разобраться с сериализацией:

  • имплементировать в нужных классах
  • реализовать сериализацию в .csv
  • разобраться со всем, что связано с сереализацией

Make GUI prototype [lab8]

Заменить консольный клиент на клиент с графическим интерфейсом пользователя(GUI). 

> В функционал клиента должно входить:

1. Окно с авторизацией / регистрацией.
2. Отображение текущего пользователя.
3. Таблица, отображающая все объекты из коллекцииКаждое поле объекта - отдельная колонка таблицы.
   ├ Строки таблицы можно `фильтровать` / `сортировать` по значениям любой из колонок. 
   └ Сортировку и фильтрацию значений столбцов реализовать с помощью `Streams API`.
4. Поддержка всех команд из предыдущих лабораторных работ.
5. Область, визуализирующая объекты коллекцииОбъекты должны быть нарисованы с помощью графических примитивов с использованием 
      Graphics, Canvas или аналогичных средств графической библиотеки.
   ├ При визуализации использовать данные о координатах и размерах объекта.
   ├ Объекты от разных пользователей должны быть нарисованы разными цветами.
   ├ При нажатии на объект должна выводиться информация об этом объекте.
   ├ При добавлении/удалении/изменении объекта, он должен автоматически появиться/исчезнуть/измениться
      на области как владельца, так и всех других клиентов. 
   └ При отрисовке объекта должна воспроизводиться согласованная с преподавателем `анимация`.
6. Возможность редактирования отдельных полей любого из объектов (принадлежащего пользователю). 
   └ Переход к редактированию объекта возможен из таблицы с общим списком объектов и из области с визуализацией объекта.
7. Возможность удаления выбранного объекта (даже если команды remove ранее не было).

> Перед непосредственной разработкой приложения необходимо `согласовать прототип интерфейса` с преподавателем. 
  └ Прототип интерфейса должен быть создан с помощью средства для построения прототипов интерфейсов(`mockplus`, draw.io, etc.)

Addition bug

  1. Added element in client manager
  2. show -> bug with show, but doesn't matter
  3. shows in server, that id is very very big(should be psql db generated)
  4. remove_by_id {that_long_id} doesn't do anything
  5. entered db manually and saw, that id is 75, but remove_by_id 75 doesn't do anything either.

image

Make Auth [backend]

Make working logic for authentication:

  • make sign in work
  • make sign up work
  • make icon clickable (choose between 4 languages by click)

Complete full authorization

For now, without multithreading

  • should work perfectly in any situation
  • all commands should work properly with database authorization
  • check all the exceptions and functionality in bad situations
  • make sure to add streamAPI whenever it is possible

CollectionManager

Реализовать менеджера коллекций:

  • написать список задач, которые он должен выполнять
  • реализовать эти задачи

Add translation for repo

  • Make translation of all readme's and naming's in repository to english
  • make it using EN and RU tags in the main repository

i think this is really usefull for HR's, by the way

Add multithreading

Необходимо реализовать многопоточную обработку запросов:

  • Для многопоточного чтения запросов использовать создание нового потока java.lang.Thread.
  • Для многопоточной обработки полученного запроса использовать Fixed thread pool.
  • Для многопоточной отправки ответа использовать Cached thread pool.
  • Для синхронизации доступа к коллекции использовать синхронизацию чтения и записи с помощью java.util.concurrent.locks.ReentrantLock.

Javadoc's

  • Fun task, if i have nothing to do - add javadocs to ALL laboratory works)
  • This will improve readability, because... because why not)

Saving bug

My logic works like this:

  • When saving executed, program executes INSERT statement, but in psql it just ADDS new objects to database. And i just collect EVERYRTHING. That's really really bad

difference in inputs

Just occured in my head after passing 5th lab

what is the difference of InputStream and Reader on low level?

i mean, symbols are also bytes, so what is the difference?

Make Collections [backend]

This is a really tough task

it involves:

  • properly working with locality
  • loading collection to TableView
  • working with add, edit, delete and other commands
  • implementing lab7 architecture and modifying it to work with gui
  • filtering collection using StreamAPI
  • add "geo" icon, same as in login, so that you could change locally in the Colections window

i will make comments as i progress, wish me luck with this one

Design database

Design PostgreSQL database:

  • create datalogical diagram
  • write model initialization script
  • write PostgreSQLManager for lab7 to work with it

Show command bug

After adding object manually and executing show command - it is not showing up in the in-memory collection

  • check CityHandler and show command and debug them
  • make synchronization for show command
  • make sure that this method works alright with multithreading

Beautify README.md in the main dir

Add this things:

  • books
  • lectures
  • tutorials/guides
P.S.
1. try to get rid of unnecessary files to not to confuse others
2. add links and releases for projects
3. add good README's with links to UML's, reports and all the usefull stuff
4. those things should be placed in table's for better readability

naming

вроде пакеты с маленькой буквы принято называть

Github pages

Try to host javadocs for lab5-lab8 in the same github-io website via /docs directory in main
i think it is possible and if it really is - that would be rly cool)

Add exceptions

I had an idea, that exception could be something like "there is no sound in space" in case if there is no oxygen.

in Moon.java, ofc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.