This article is a guide for new and existing members of the Optimal Schedule Builder project. It provides an overview of our mission, accomplishments, tools, and how to get started.
The Optimal Schedule Builder is a collaborative project aimed at creating a self-optimizing scheduling platform for students and advisors as UGA. By combining thoughtful design, powerful algorithms, and seamless integration, we strive to deliver an intuitive and efficient experience.
- Purpose: Design an intuitive and visually appealing interface for users.
- Key Accomplishments:
- What They're Working on Next:
- This group has a list of components to complete for the MVP found on github projects
- All incomplete components should be added to the figma page and please follow these Idenity Guidelines
- Technologies:
- Figma
- Start Here!
- Purpose: Create components that the user can interact with. Be able to provide the user with data from the backend team.
- Key Accomplishments:
- Created a variety of functions that builds the pages.
- Created Schedule View, Landing, Home page, ect.
- Followed UI/UX team's designs and turned it into code.
- Technologies
- Node.js
- Next.js
- pnpm
- React
- Tailwind CSS
- HTML5
- Add setup guide here!
- Purpose: Build and maintain the engine that connects the platform. Pull and manipulate data from various PDFs to supply data for users.
- Key Accomplishments:
- Created Spring Boot endpoints for course pdf and bulletin information.
- Created thorough endpoint documentation.
- Technologies:
- Spring Boot
- Java
- Purpose: Create intelligent scheduling systems to enhance user plans.
- Key Accomplishments:
- Developed brute-force scheduling prototypes.
- Integrated CP-SAT and genetic algorithms for schedule optimization.
- Technologies:
- Java
- Purpose: Use Spring JPA to gather relevant information from the database.
- Key Accomplishments:
- Gather course data from a Spring JPA repository
- Built repository methods for retrieving course and course section information.
- Designed java objects and how they're connected.(https://docs.google.com/drawings/d/1BeK1RNG7z8BCm33DeHGF1Jx8oa1mQh8RSpqgm4YE5DA/edit)
- Technologies:
- Spring JPA
- Purpose: Automate data collection to populate the database.
- Key Accomplishments:
- Created a pdfscraper to collect course section information from pdf's listed here -Created a pdfscraper to collect syllabus information from the [UGA Bulletin] (https://bulletin.uga.edu/coursesHome)
- Created scrapers for course bulletin data, building details, and transcripts.
- Automated data parsing
- Technologies:
- Development: Java,
- Create a fork of the GitHub Repository
- Clone your new fork into your preferred IDE with Github desktop or your terminal.
- Join the team’s Discord and follow the prompts to set it up.
- Attend weekly sessions at the new poultry science building, room 125 from 5:30-6:30PM
- Join a chat in our discord named after your interested group.
- Pick a task from the GitHub issue tracker or propose a new task.
- Submit pull requests and collaborate with peers for feedback.
- Designs:
- Knowledge Base:
- How you can help
- Github Projects
- If you're new to github try out Kelsey's Github tutorial!
- Linktree We use our Linktree to post any invitations, applications, our website link and more! click here
The Optimal Schedule Builder project is a collective effort of passionate developers and designers. We’re excited to have you onboard to make this platform even better. Together, let’s build extraordinary projects!