Both sides previous revisionPrevious revisionNext revision | Previous revision |
sis_developer_manual [2025/07/29 03:49] – [Build Tools and Package Manager] ghachey | sis_developer_manual [2025/07/29 05:02] (current) – [Building and Running Backend] ghachey |
---|
* [[https://www.npmjs.com/|NPM]] will be installed with NodeJS above. It is the package manager and is used mainly to install dependencies and other tools used by the frontend. You can see the currently used npm packages in ''packages.json''. | * [[https://www.npmjs.com/|NPM]] will be installed with NodeJS above. It is the package manager and is used mainly to install dependencies and other tools used by the frontend. You can see the currently used npm packages in ''packages.json''. |
| |
<note warning>The Pacific SIS build tools is easier to setup with the NodeJS LTS version 14.21.3. More recent version currently have errors.</note> | <note warning>The Pacific SIS build tools is easier to setup with the NodeJS LTS version 14.21.3. More recent version currently have errors. Use nvm to manage multiple node versions on your system</note> |
===== Setting Up the Development Environment ===== | ===== Setting Up the Development Environment ===== |
| |
| |
Most developers currently use Visual Studio, Visual Studio Code, dotnet 6.0, MySQL, NodeJS/NPM. And SourceTree/Git is useful to manage code evolution: | Most developers currently use Visual Studio, Visual Studio Code, dotnet 6.0, MySQL, NodeJS/NPM. And SourceTree/Git is useful to manage code evolution: |
| |
| |
<note warning>Regarding step 4. below. The Pacific SIS build tools is easier to setup with the NodeJS LTS version 16. The latest LTS 18 at the time of this writing requires handling a SSL obsolete method used by webpack.</note> | |
| |
- Download and install [[https://git-scm.com/|Git]] | - Download and install [[https://git-scm.com/|Git]] |
- Download and install latest [[https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx|Visual Studio]] (developers mostly on 2022). | - Download and install latest [[https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx|Visual Studio]] (developers mostly on 2022). |
- Download and install [[https://dev.mysql.com/downloads/|MySQL Community Version]] (the server and workbench). | - Download and install [[https://dev.mysql.com/downloads/|MySQL Community Version]] (the server and workbench). |
- Download and install latest LTS [[https://nodejs.org/en/|NodeJS]]. | - Download and install latest LTS [[https://nodejs.org/en/|NodeJS]]. Use nvm to install multiple versions on your system including the support 14.21.3. |
- [Optional] Download and install [[https://www.sourcetreeapp.com/|SourceTree]] (useful for Git). | - [Optional] Download and install [[https://www.sourcetreeapp.com/|SourceTree]] (useful for Git). |
| |
{{ :sis-developer-manual:swagger-1.jpg?nolink |}} | {{ :sis-developer-manual:swagger-1.jpg?nolink |}} |
| |
| ==== Initialize First User ==== |
| |
| You can use the API endpoint "/{tenant}/User/insertInitialDataAtRegistration" to initialize the first school and user. Use something like the follow payload. |
| |
| <code javascript> |
| { |
| "schoolName": "School Template", |
| "userName": "Username", |
| "emailAddress": "user@example.com", |
| "password": "somepassword", |
| "tenantName": "tenant", |
| "apiDomain": "https://localhost:44309/", |
| "schoolBeginDate": "2025-02-01", |
| "schoolEndDate": "2025-11-30", |
| "_userName": "string", |
| "_tenantName": "string", |
| "_token": "string", |
| "_tokenExpiry": "2025-07-29T04:52:53.585Z", |
| "_failure": true, |
| "_message": "string", |
| "_academicYear": 0 |
| } |
| </code> |
==== Install Frontend Dependencies ==== | ==== Install Frontend Dependencies ==== |
| |