RoutineHive 🐝📅 | 🇧🇩 বাংলা
A tool to simplify class routines and retake course section selection
Our BUBT website combines all class routines into one long page, making it challenging for students to quickly find their specific routine. Additionally, selecting the best retake course section is not easy, as students need to evaluate all sections to find those with the smallest gaps between periods.
- Refactor my messy code.
- Add a search box in the Course dropdown menu.
- Sort retake sections by the period gap.
- Improve error handling with clear messages.
- Add support for selecting old semester routines.
- Implement cache support for fallback in case the BUBT website fails.
- Add unit tests.
-
Clone the repository
git clone https://github.com/kurtnettle/bubt-routine-hive cd bubt-routine-hive
-
Install Dependencies
npm install
-
Set environment variables:
Create a
.env
file in the project root and configure the required variables. The Cloudflare Worker URL is necessary to bypass CORS issues when fetching HTML content.PUBLIC_BUBT_ROUTINE_URL=https://www.bubt.edu.bd/home/routines PUBLIC_PROXY_URL=<YOUR WORKER URL>
-
Build and preview the app locally 🚀
npm run build npm run preview
Once you've installed dependencies with npm install
(or pnpm install
or yarn
), start a development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
To create a production version of your app:
npm run build
You can preview the production build with npm run preview
.
To deploy your app, you may need to install an adapter for your target environment.
I welcome contributions from the community! To contribute, please follow these steps:
- Fork the Repository: Create a personal copy of the repository to work on.
- Open an Issue: If you find a bug or have an idea for a new feature, please open an issue to discuss it.
- Submit a Pull Request: Once you’ve made changes, submit a pull request for review. Ensure your changes are well-tested and adhere to the project’s coding standards.
- Ensure your code follows the project’s style guide and conventions.
- Provide tests for any new functionality or bug fixes.
- Keep your pull requests focused on a single issue or feature to streamline the review process.
Thank you for contributing to the project! Your efforts help make this a better resource for everyone. ✨
This project is licensed under the GPLv3 License. See the LICENSE file for full details.
By contributing to this project, you agree that your contributions will be licensed under the GPLv3 License as well.