Всем доброго времени суток!) Появилась идея для pet-project, но, как вы можете судить по моему уровню (прошло меньше 20 дней с начала обучения), моих знаний для реализации абсолютно точно недостаточно. Я даже не могу сказать можно ли это сделать или декстопное приложение на Java идея плохая:D
Суть:
Приложение должно сильно облегчить жизнь администраторам на теплоходе, знаю не понаслышке, это сократит работу на 50% точно.
Нужно реализовать:
1. Декстопное приложение, в которое пользователь загружает файл excel
2. Данные из файла должны храниться в виде списка, который можно отсортировать по разным признакам, дополнить в самой программе или изменить, выбрать какие столбцы отображать, какие нет.
3. В отдельной вкладке на основе списка, программа должна считать, где сколько человек проживает, какие номера пустые и отображать схематично(примерно в таком же виде как при покупке билетов в кинотеатр). Грубо говоря ячейка (с номером) + кол-во человек. И где-то там же, отображать общее количество: занятых номеров, сколько всего человек, сколько детей и взрослых.
4. И прямо в приложении, чтобы можно было создавать другие мини списки на основе первого. Допустим нам нужны дети, отсортировали по возрасту в главном списке, выделили всех и нажали на кнопку создать новый список.
5. И всë это чтобы можно было вывести на печать.
На этом всë) Возможно ли это вообще? Насколько я понимаю да... Но на данный момент передо мной тëмный лес и я не знаю как всë это реализовывать)
Буду рада любой помощи, подскажите в каком направлении нужно двигаться, что изучать.
Елизавета
17 уровень
Идея есть, навыков нет) Pet-project в каком направлении стоит двигаться?
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2322530
18 июня 2021, 20:33
проект прикольный. можно писать, но надо знать технологиии что в этом используются
0
hidden #2444690
18 июня 2021, 10:51
Мне кажется, что лучше в начале пути себя так не нагружать, если ваша задача изначально - доучиться и устроиться на работу разработчиком. Не комильфо, конечно, такие вещи писать, но это похоже на то, что нельзя во время беременности пресс качать (неподготовленному организму в особенности). Последствия будут печально предсказуемыми. Да и не спасет вас проект от квадратных глаз и ужаса в конце пути... Но это так, ИМХО, у всех все по-разному)
0
wan-derer.ru
18 июня 2021, 08:53
1. Это задача песец какая сложная, новичку в принципе не под силу!
2. Можно раскатать полноценное приложение с базой данных, бэкэндом и франтэндом. Примерно этому учат здесь на стажировке после 35 уровня. Но помимо 35 уровней придётся самостоятельно освоить БД и немного WEB.
3. Если Excel - жёсткое требование, то:
3.1 Можно обойтись без БД т.к. надёжное хранилище данных уже есть. Только надо понять как гнать данные из Excel в Java. Запросы на выборку и сортировку можно писать на Java в функциональном стиле и это будет похоже на запросы SQL. Для этого придётся выучить Java, потом сломать себе сознание, изучив SQL и потом ещё раз сломать, выучив Java Stream API. И по-прежнему есть вопрос с франтэндом.
3.2 Можно всё делать в Excel, там есть встроенный Basic. А можно и совсем без программирования, освоив встроенные средства обработки данных.
4. Наверно можно не упарываться по бэкэнду, а сделать всё средствами Java Script прямо в браузере (возможно используя Node.js и какой-то из фреймворков). Опять вопрос с миграцией данных из Excel.
PS: если в Excel просто таблица без особых заморок, то стоит её сохранить как CSV. Такой файл можно открыть простым блокнотом и из своей программы его парсить значительно легче.
+1
Justinian Judge в Mega City One Master
18 июня 2021, 07:07
Я правильно понимаю, что цель этого пет-проекта - прикладная, то есть автоматизировать и пользоваться чем-то? В таком случае, я бы рекомендовал поискать готовые решения в первую очередь, или библиотеки хотя бы, как привели ниже, которые делают часть работы.
Если цель пет-проекта, прокачать джаву, то это совершенно другой подход, в таком случае нужно очень сильно упрощать бизнес-требования, детали реализации, поскольку они забирают время и ресурсы от проработки технических моментов, развития тех скиллов.
Если цель прокачать джаву, то можно и нужно упростить основную логику, отказаться от тех фич, которые не прокачают тебя в техническом плане, а просто отнимут неделю, месяц, квартал, и добавить ряд тех технических моментов, с которыми хочется поработать, и которые за минимум времени дадут тебе максимум пользы как программисту, если это проработка ООП, то можно просто эмуляция консольного MVC приложения с упрощенной логикой, без вывода на печать и даже без баз данных, если уже начиналась разбираться тема jsbc/sql, можно сделать просто слой дао на jdbc, в крайнем случае + сервис.
Поэтому я здесь вижу прежде всего необходимость выбор, решить зачем это делается, и исходя из этого подкорректировать план, поскольку на джава много чего можно сделать прикольного, но проблема в том, что это будет забирать учебное время и нужно оценивать насколько то, что делается дает отдачу в развитии техническом плане.
Это конечно мое мнение, у каждого человека индивидуальная ситуация, если реально ну просто очень хочется и прет, то можно и не наступать на горло песне.
+1
Сергеев ВикторMaster
17 июня 2021, 23:29
Для java есть библиотека apache poi которая умеет разбирать и собирать эксель файлы
Ей вы можете разобрать входящий файл
Дальше надо сделать класс, который содержит все атрибуты строки, т.е. просто обозвать каждую колонку в экселе в виде переменной класса.
Распарсив эксель и на основе каждой строки создаете класс
Дальше можно их хранить в мапе например, но лучше притянуть БД и сделать там 1 таблиц, полностью повторяющую эксель.
Дальше минимальное круд приложение, точнее только на чтение из этой таблицы, для составления новых списко по условиям клиента.
Потом получив данные из БД снова положить в класс созданный выше и собрать из него новый эксель файл
Готово )
+2