You'll need to install a few applications to contribute to this project:
-
Git - This is used for version control
-
Git Large File Storage (LFS) - This is used to store the Gradle Wrapper JAR without using up too much space.
-
Docker - This is used to run the application in both production and development. Ideally it would not be necessary, but for now it is, to reduce the need to download an infinite number of dependencies all the time.
-
Java Development Kit - The project is written in Java, so you'll probably need to install a Java Development Kit (JDK) in order to build and run it.
NOTE: Please use at least version 11 and at most version 18. This project uses Java 11 features, so at least JDK 11 is required, but Gradle doesn't seem to support anything later than 18 right now, so you will not be able to build code if you install JDK 19.
-
NodeJS and Yarn - This project uses Yarn and NodeJS for compiling JavaScript and also for running custom build commands.
NOTE: If you're on MacOS, you may need to do additional work to set up your computer. Open the Terminal App and run the following command:
xcode-select --install
- Fork this repository by clicking
fork
on the right side. - Choose where you want to save the project locally on your computer then run
git clone [Your URL/Git here]
. - We recommend to develop your feature through another branch other than the
main
branch. So, rungit checkout -b [name of your branch here]
and develop the feature. You can switch between branches by the same command by removing-b
. - Once you finish, you can run the normal
git add
,git commit
&git push
. - Make a PR when the feature is fully finished or if you would like feedback on your changes.
yarn compile
: Check the application for compile-time errorsyarn test
: Test the code for regressionsyarn start
: Start up development servers; Schedge will start on port4358
yarn build
: Build the application, and update the development serveryarn stop
: Close the servers when development is done
yarn schedge db populate sp2022
- Populate your database with data from productiondocker-compose postgres psql --dbname=postgres --host=localhost --port=5432 --username=postgres
- Runpsql
on the local database
-
yarn test
will test the backend; before running tests, please scrape the following terms:sp2021
fa2022
sp2023
You can use
yarn schedge db populate INSERT_TERM_HERE
to scrape a specific term from production.
The codebase uses the following annotations in the comments:
@Help
- Help wanted@TODO
- Code has something that's yet to be done@Note
- A note for readers@Performance
- This area can be tweaked/rewritten to improve performance@Organize
- We should reorganize this code
- Make sure that the code compiles and test your code.
- Format your code with clang-format.