{"id":24486200,"url":"https://github.com/tamimehsan/scarlet","last_synced_at":"2025-10-26T05:36:07.924Z","repository":{"id":110306661,"uuid":"320904875","full_name":"TamimEhsan/Scarlet","owner":"TamimEhsan","description":"Term project of Level-1 Term-2 using Java Networking and JavaFX gui","archived":false,"fork":false,"pushed_at":"2021-08-30T16:09:26.000Z","size":6452,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-07T20:37:06.472Z","etag":null,"topics":["javafx","material-design","socket-programming"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TamimEhsan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-12T19:11:25.000Z","updated_at":"2023-09-27T16:44:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"d8ee3442-e309-4b3a-a307-7f440364cd42","html_url":"https://github.com/TamimEhsan/Scarlet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TamimEhsan/Scarlet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TamimEhsan%2FScarlet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TamimEhsan%2FScarlet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TamimEhsan%2FScarlet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TamimEhsan%2FScarlet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TamimEhsan","download_url":"https://codeload.github.com/TamimEhsan/Scarlet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TamimEhsan%2FScarlet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272063965,"owners_count":24866840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javafx","material-design","socket-programming"],"created_at":"2025-01-21T14:33:54.481Z","updated_at":"2025-10-26T05:36:02.881Z","avatar_url":"https://github.com/TamimEhsan.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scarlet\n\n\u003cimg height=\"300\" align='center' src=\"https://github.com/TamimEhsan/Scarlet/blob/master/Assets/logo.jpg\"\u003e\n\nScarlet is a car warehouse management system made with JavaFX and Java networking. This is the term project of Level-1 Term-2. \n\nNB. Due to covid pandemic our usual term project was cancelled and this easy version was given.\n\nFull demo of the project can be found [Scarlet: A Car retailer simulating software using JavaFX and Socket Networking](https://youtu.be/8guI1ndLWDQ)\n\n## Task assigned\n\nWe were to implement a model of a car buy,sell system.\n\nThe server has the data stored and will be used for communication between clients and server side login validation.\n\nThe viewer needs no login validation. But the manufacturer side will be validated from server.\n\nThe user can view cars in the showroom and buy them. The user can also search cars using different attributes. And the manufacturers can edit or delete existing car or add new car. Every update needs to be reflected on other users too. Every interaction should be done in javafx.\n\n## Architecture \n\nThe system is designed into two part: frontend and backend. The front end shows two type of behaviours: Manufacturer and user. The front end and backend is connected by socket.\n\n- Backend\n  - Server\n- Frontend\n  - Manufacturer\n  - Buyer\n\n### Design patterns\n\nIn this I used namely two pattern\n\n- Singleton\n- MVC (Model View Controller)\n\nAnd wanted to use the observable pattern too. But at one point it seemed unnecessary as Java has Observable array doing what I need.\n\n## Features\n\nThe main features of the project are\n\n- Implementation of Java networking with TCP using socket\n- Implementing server\n- Multiple client\n- JavaFX based gui designed with material theme\n- Server side validation\n- Auto update of data\n\n### The UIs\n\n#### Login\n\n\u003cimg height=\"400\" align='center' src=\"https://github.com/TamimEhsan/Scarlet/blob/master/Assets/login.gif\"\u003e\n\n#### Data Show\n\n\u003cimg height=\"200\" align='center' src=\"https://github.com/TamimEhsan/Scarlet/blob/master/Assets/listCell.jpg\"\u003e\n\n#### User consoles\n\nThe Menu\n\n\u003cimg height=\"400\" align='center' src=\"https://github.com/TamimEhsan/Scarlet/blob/master/Assets/clientMenu.jpg\"\u003e\n\nSearch car console\n\n\u003cimg height=\"400\" align='center' src=\"https://github.com/TamimEhsan/Scarlet/blob/master/Assets/search.jpg\"\u003e\n\nLive search\n\n\u003cimg height=\"400\" align='center' src=\"https://github.com/TamimEhsan/Scarlet/blob/master/Assets/liveSearch.gif\"\u003e\n\n#### Manufacturer Console\n\nManufacturer console\n\n\u003cimg height=\"400\" align='center' src=\"https://github.com/TamimEhsan/Scarlet/blob/master/Assets/manufacturerConsole.jpg\"\u003e\n\nAdd car console\n\n\u003cimg height=\"400\" align='center' src=\"https://github.com/TamimEhsan/Scarlet/blob/master/Assets/addCar.jpg\"\u003e\n\nValidation of data\n\n\u003cimg height=\"400\" align='center' src=\"https://github.com/TamimEhsan/Scarlet/blob/master/Assets/validation.jpg\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftamimehsan%2Fscarlet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftamimehsan%2Fscarlet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftamimehsan%2Fscarlet/lists"}