User Tools

Site Tools


sis_developer_manual

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sis_developer_manual [2025/07/29 03:49] – [Build Tools and Package Manager] ghacheysis_developer_manual [2025/07/29 05:02] (current) – [Building and Running Backend] ghachey
Line 39: Line 39:
   * [[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 =====
  
Line 47: Line 47:
  
 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).
  
Line 190: Line 187:
 {{ :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 ====
  
sis_developer_manual.1753760954.txt.gz · Last modified: 2025/07/29 03:49 by ghachey