{"id":24395174,"url":"https://github.com/valesz/things-to-do","last_synced_at":"2026-05-01T20:31:16.420Z","repository":{"id":270889690,"uuid":"911675523","full_name":"Valesz/things-to-do","owner":"Valesz","description":"Things to do is a leetcode like react web application where you can create and complete tasks if you are bored. This project was created during an internship at a company.","archived":false,"fork":false,"pushed_at":"2025-01-03T19:45:08.000Z","size":1459,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-13T03:13:21.104Z","etag":null,"topics":["gradle","reactjs","spring-boot-2","webapp"],"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/Valesz.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":"2025-01-03T15:24:17.000Z","updated_at":"2025-01-03T19:49:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"0c269def-c499-448d-b0ae-2b7202434023","html_url":"https://github.com/Valesz/things-to-do","commit_stats":null,"previous_names":["valesz/things-to-do"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valesz%2Fthings-to-do","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valesz%2Fthings-to-do/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valesz%2Fthings-to-do/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Valesz%2Fthings-to-do/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Valesz","download_url":"https://codeload.github.com/Valesz/things-to-do/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243330324,"owners_count":20274039,"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","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":["gradle","reactjs","spring-boot-2","webapp"],"created_at":"2025-01-19T20:26:19.925Z","updated_at":"2025-12-25T20:57:35.551Z","avatar_url":"https://github.com/Valesz.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Things-to-do\n\nThings to do is a leetcode like web application \nwhere users can create whatever tasks they have on their mind \nand others are able to complete those tasks by submitting their solutions\nfor you to take a look at them and get inspired to get things done!\n\nThings to do is also a great place to spend your boring hours.\nInstead of mindlessly scrolling through any social media you could\ndo something fun and productive!\n\n## Technologies used\n\n- Spring-boot 2\n- React 18\n- H2 database\n- Gradle\n\n## Setting up the project\n\n1. Clone the repository\n2. Set up the backend\n   1. At the root run `./gradlew build` to build the project\n   2. Navigate to `/backend/src/main/resources`\n   3. Create an embedded H2 database in the folder\n   4. Run the `init.sql` script in the database's console\n   5. Paste the Connection URL to the database to into \n   the `application.properties` file's \n   `datasource.url` field and provide the necessary credentials \n   to access the database\n   6. Navigate back to root\n   7. Run `./gradlew run` to run the built gradle project\n   8. You should see a Spring Boot application starting.\n3. Set up the frontend\n   1. Navigate to `/frontend`\n   2. Run `npm install` to install the necessary dependencies\n   3. After the dependencies installed run `npm start` and the\n   React application should start.\n4. Enjoy creating tasks and completing them!\n\n## Origin of the project\n\nWriting the specification and developing this application was a\ntask assigned to me on my internship at Scriptum Informatics Zrt.\n\n## Future developments\n\n### General\n\n- Fix date usage (replace string to number)\n- Adding a logger and monitoring options\n- Containerizing the setup\n- Somehow figure out load-balancing\n\n### Frontend\n\n- Make it work with Vite\n- Replacing PrimeReact with Material UI\n- Replacing PrimeFaces with Tailwind CSS\n- Replacing fetch API usages to React Query or \n  change it to use graphQL\n- Extract the components and other non-page files to separate folder\n- Set up ESLint to control the dependencies\n- Update to React 19\n- Introduce Zustand for better state management\n- Somehow figure out how to use Suspense to display modal while fetch is loading\n- Change to TypeScript\n- Add localization (?)\n- Fixing up minor bugs\n\n### Backend (Where do I begin)\n\n- Too much code duplication\n- Update to Spring boot 3\n- Introduce JPA instead of just JDBC\n- Add logging\n- Replace @Autowired with final and @RequiredArgsConstructor\n- Write more tests\n- Understand\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalesz%2Fthings-to-do","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalesz%2Fthings-to-do","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalesz%2Fthings-to-do/lists"}