Hey everyone! I'm looking to create a project for my portfolio and I want to build an application that automates creating shift schedules. The idea is to allow users to upload a CSV file or manually enter data, then hit a button to generate a shift schedule that can be printed as a PDF. I'm considering using Spring Boot for both the front and back end, or potentially mixing in React or Angular, with SQLite as the database. However, I'm really unsure about how to get started. I graduated a year ago and have been stuck in a job using Java 6-11, and due to some personal issues, I haven't advanced in my programming skills. I feel a bit burnt out and could really use some new ideas or guidance on how to approach this project. I'm open to learning new technologies or languages!
2 Answers
Oh man, you're stepping into some interesting territory! The shift scheduling problem can get pretty complex. I'd recommend looking into Drools for handling rules and constraints. Also, keep in mind that if you stick with a known file type for input, it'll simplify things a bit for you. Spring Boot can definitely work for this, especially if you utilize Spring Boot Batch to manage different parts of the application. Good luck with it—it's definitely doable!
What exact part are you feeling stuck on? It sounds like you have a solid tech stack in mind. I'd start by creating a simple boilerplate for your site that connects the frontend with the backend. Just focus on getting that up and running, then build on it from there. That will give you a clear starting point!
I'm unsure about which main languages to use. I'm most familiar with Java, but I'd like to challenge myself to learn something new too. How do you usually decide on the tech stack for a project?

Thanks a lot! I'm gonna see how far I can make this project into reality^^