From 62ae45082687d1df5321b6c6528d9341b1acf372 Mon Sep 17 00:00:00 2001 From: JManion32 Date: Fri, 6 Feb 2026 22:22:10 -0500 Subject: [PATCH 1/3] Overhauled the Getting Started page --- _docs/developer/getting_started/index.md | 64 +++++++++++++----------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/_docs/developer/getting_started/index.md b/_docs/developer/getting_started/index.md index 43ab731c..557685f4 100644 --- a/_docs/developer/getting_started/index.md +++ b/_docs/developer/getting_started/index.md @@ -9,11 +9,23 @@ redirect_from: --- +Join our Community Discussion on Zulip: +[Contact Us](/contact) -## Suggestions for New Developers +## Setting Up -* Join our Community Discussion on Zulip: - [Contact Us](/contact) +* Submitty primarily uses the following languages/frameworks: +[PHP](developer/software_and_system_design/coding_style_guide/php), +[Twig](/developer/developing_the_php_site/view#rendering-the-user-page-with-twig), +[JavaScript](developer/software_and_system_design/coding_style_guide/javascript), +[TypeScript](/developer/developing_the_php_site/javascript#typescript), +[Vue](/developer/developing_the_php_site/view#another-option-rendering-with-vue), +[PostgreSQL](/developer/software_and_system_design/database_design), +[Python](/developer/software_and_system_design/coding_style_guide/python), +[C++](/developer/software_and_system_design/coding_style_guide/c++). + +* To support development, Submitty uses Git/GitHub, Vagrant, [Cypress E2E Testing](/developer/testing/cypress), +PHP/Python unit tests, and a variety of linters and formatters. * You'll need to set up the full system on your own computer. The easiest method is to @@ -23,13 +35,13 @@ redirect_from: up networking, SSL/https, etc.) by following the [complete system administrator instructions](/sysadmin/installation/index). -* Read through the +* Once the system has been successfully installed, read through the [Student](/student/account/index), [Grader](/grader/index), and [Instructor](/instructor) - instructions and try it out. + instructions to test it out. -* Learn how to use git. +## Making Contributions * Browse our open [GitHub Pull Requests](https://github.com/Submitty/Submitty/pulls). Pick an open PR and read the PR notes, linked issues, and other documentation. @@ -39,42 +51,38 @@ redirect_from: * Look through our [GitHub Issues lists](https://github.com/Submitty/Submitty/issues) for some ideas of problems to explore. - * _**IMPORTANT NOTE**: We can only "assign" GitHub issues to users - who are already members of the Submitty GitHub organization. But + who are already members of the Submitty GitHub organization, however, we are very happy to accept, review, and merge contributions from - outside of the organization. Students selected for Google Summer + outside of the organization. Students selected for Google Summer of Code and active developers who already have multiple contributions will be added to the Submitty GitHub organization._ - + * Learn what sections of the code are relevant for those issues (so you’re not overwhelmed). - - * Hint: Use "git grep" to search for variables/filenames/specific + * Use "git grep" to search for variables/filenames/specific strings within the source files/directories. This can help you locate relevant files. + * For Developers using VS Code: Use `Ctrl+Shift+F` to search for words inside + of files. Use `Ctrl+P` to search for filenames. * Add & delete things to the code, re-install that portion of the system and see what happens. See also [Development Instructions](/developer/development_instructions). -* Use inspector, browser debugger, javascript console, etc. - - * Hint: It is helpful to set your javascript console errors to - be persistent (so they don't disappear when the page reloads). - E.g., in Chrome, you need to set "Console:Preserve log on - navigation", or in Firefox, "Enable persistent logs". - -* As you read the code, make a diagram for yourself of how the system - fits together. - -* Use jsfiddle (for testing or demoing new things). +* Browser DevTools allow you to inspect, debug, and experiment with web pages. + * The `Elements/Inspector` tab provides a view of the DOM, and the CSS classes being applied to elements. + * The `Console` tab shows browser messages and allows you to run JS on the page. + * Use `console.log` in JavaScript to output to the console. + * HINT: Set your javascript console errors to + be persistent. This will make any outputs persist on reload. + * The `Network` tab is helpful for seeing what requests are being made. + * The `Application/Storage` tab allows you to view cookies and items in localStorage. -* Keep a work diary / log: what did you plan to do today, keep track - of how long it took you to do things, difficulties, how did you - solve it, helpful reference links, and what’s your plan for - tomorrow. +## Helpful Links -* Get familiar with vagrant. +These links may be useful throughout your development experience. _REMEMBER:_ If +you ever have any questions about the Submitty's workflow, the codebase, or a +specific feature, search `submitty.org` first. * Run the relevant portions of test suite locally: [Submitty Testing Instructions](/developer/testing/) From a358f7a44c8feae840457b5c97a217d071fae7c9 Mon Sep 17 00:00:00 2001 From: JManion32 Date: Fri, 6 Feb 2026 22:34:12 -0500 Subject: [PATCH 2/3] Fix failing link tests --- _docs/developer/getting_started/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_docs/developer/getting_started/index.md b/_docs/developer/getting_started/index.md index 557685f4..1a35e2f4 100644 --- a/_docs/developer/getting_started/index.md +++ b/_docs/developer/getting_started/index.md @@ -15,9 +15,9 @@ Join our Community Discussion on Zulip: ## Setting Up * Submitty primarily uses the following languages/frameworks: -[PHP](developer/software_and_system_design/coding_style_guide/php), +[PHP](/developer/software_and_system_design/coding_style_guide/php), [Twig](/developer/developing_the_php_site/view#rendering-the-user-page-with-twig), -[JavaScript](developer/software_and_system_design/coding_style_guide/javascript), +[JavaScript](/developer/software_and_system_design/coding_style_guide/javascript), [TypeScript](/developer/developing_the_php_site/javascript#typescript), [Vue](/developer/developing_the_php_site/view#another-option-rendering-with-vue), [PostgreSQL](/developer/software_and_system_design/database_design), From 649582fa64e9ab73b3a84b1767eaee34e8d34fd9 Mon Sep 17 00:00:00 2001 From: JManion32 Date: Fri, 6 Feb 2026 22:37:53 -0500 Subject: [PATCH 3/3] Fixed link --- _docs/developer/google_summer_of_code/2019_XiaoHan.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_docs/developer/google_summer_of_code/2019_XiaoHan.md b/_docs/developer/google_summer_of_code/2019_XiaoHan.md index b209f5e9..7c383aa0 100644 --- a/_docs/developer/google_summer_of_code/2019_XiaoHan.md +++ b/_docs/developer/google_summer_of_code/2019_XiaoHan.md @@ -37,7 +37,8 @@ It is also worth to mention that the API is proved useful for making [a working- An API opens a world of possibilities. Here is a list for future developers. Feel free to come up with new ideas yourself. -- Help implement more API endpoints to enrich Submitty API. After carefully reading [suggestions for new developers](/developer/getting_started/index#suggestions-for-new-developers), you can start writing new endpoints hosted at Submitty that can direct your robot to wash the dishes and fold the laundry. +- Help implement more API endpoints to enrich Submitty API. After carefully reading [suggestions for new developers](/developer/getting_started/index), + you can start writing new endpoints hosted at Submitty that can direct your robot to wash the dishes and fold the laundry. - Develop plugins for text editors so that you can autograde your work without switching between windows. - Build *your* Submitty application. While sharing data with Submitty, you can rebrand it with your name (like Shailmitty), repaint and reshape everything with your genius aesthetic tastes without fighting with picky people, and even, develop an Android or iOS application that makes everyone forget the web version and keeps Barb on vacation every day.