Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
2f43985
modify cors setting of zodiac github action file
elainefan331 Jan 22, 2026
5fa944d
feat: add user activities interface and service
elainefan331 Jan 23, 2026
76ac36b
feat: add user activities action, service, selector and slice in redux
elainefan331 Jan 26, 2026
2e20346
feat: add check user activities to controller and routes
elainefan331 Jan 26, 2026
8509efa
feat: add check user activities in redux
elainefan331 Jan 26, 2026
a3ca4e8
feat: add like and save buttons in dataset page
elainefan331 Jan 27, 2026
e4de9df
feat: add get user's liked and saved datasets in the backend routes
elainefan331 Jan 27, 2026
ac4b5bd
feat: add get user's liked and saved datasets in redux
elainefan331 Jan 27, 2026
9fa3a2c
feat: add collections migration file
elainefan331 Jan 27, 2026
ffbb6b4
feat: add collection-datasets migration file
elainefan331 Jan 27, 2026
2835682
feat: add projects migration file
elainefan331 Jan 27, 2026
1d54d4c
add collection, collectionDataset and project models; add collection …
elainefan331 Jan 27, 2026
dc5b938
feat: add collection routes
elainefan331 Jan 27, 2026
9dd4dc2
feat: add collections action, service and interface files
elainefan331 Jan 28, 2026
abd483d
feat: add collections slice file
elainefan331 Jan 28, 2026
713cefe
feat: add collection selector file
elainefan331 Jan 28, 2026
f1ffe0a
feat: add collection menu to save button in dataset page
elainefan331 Jan 28, 2026
d72e67b
feat: update the like and save buttons to non-login user
elainefan331 Jan 28, 2026
61b91e7
feat: add collections tab file
elainefan331 Jan 29, 2026
b3fa232
feat: add collection detail page
elainefan331 Jan 29, 2026
1d445a2
feat: adjust the color of text in collection tab
elainefan331 Jan 30, 2026
4b0c0d5
feat: add edit feature to collections tab
elainefan331 Jan 30, 2026
4a53f1e
feat: add update profile controller
elainefan331 Jan 30, 2026
f58fd75
feat: add update profile route to the backend
elainefan331 Jan 30, 2026
eb759c1
feat: add update profile to interface and service files
elainefan331 Jan 30, 2026
178af5e
feat: add update profile to redux action and slice files
elainefan331 Jan 30, 2026
72623a7
feat: add update profile feature to profile tab
elainefan331 Jan 30, 2026
19cb899
feat: update the color theme of profiletab
elainefan331 Feb 2, 2026
07654ce
feat: add project controller file
elainefan331 Feb 2, 2026
7fa0145
feat: add projects routes
elainefan331 Feb 2, 2026
859a492
feat: register project routes in server
elainefan331 Feb 2, 2026
e9fb650
feat: add projects interface types
elainefan331 Feb 2, 2026
b679dfc
feat: update the projects interface types
elainefan331 Feb 2, 2026
804289c
feat: add projects service file
elainefan331 Feb 2, 2026
9f04eb6
feat: add projects action file
elainefan331 Feb 2, 2026
2130573
feat: add projects slice file
elainefan331 Feb 2, 2026
4cc9c0a
feat: add projects selector file
elainefan331 Feb 2, 2026
05f4dcd
feat: add projects tab to user dashboard
elainefan331 Feb 2, 2026
406e86e
feat: add dataset organizer page
elainefan331 Feb 4, 2026
002d8c9
feat: fix the track changes functions
elainefan331 Feb 4, 2026
92dbf6f
feat: add full processFolder function in fileProcessors file
elainefan331 Feb 5, 2026
d90edfa
feat: modify fileProcessors file to be able extract docx, excel,nifti…
elainefan331 Feb 6, 2026
def8302
feat: add base path to zip and folder processors
elainefan331 Feb 9, 2026
0e3bb1d
feat: add LLM panel to dataset organizer
elainefan331 Feb 10, 2026
e0136d1
feat: implement sliding session window with automatic token refresh o…
elainefan331 Feb 14, 2026
7b5772a
feat: Add base directory path requirement to LLM script generation
elainefan331 Feb 14, 2026
3d60707
feat: decouple base directory from file paths for flexible path manag…
elainefan331 Feb 23, 2026
fc98e29
feat: include base path context in AI prompt for accurate BIDS conver…
elainefan331 Feb 23, 2026
d174aa5
feat: test updated LLM prompts
elainefan331 Feb 24, 2026
e0dde70
refactor: reorganize dataset organizer utils by separating file analy…
elainefan331 Mar 4, 2026
987bd92
feat: replace old trio files with new generated files
elainefan331 Mar 4, 2026
4304b3c
feat: add timestamp to AI generated files
elainefan331 Mar 4, 2026
20ce77f
feat: modify the layout of project page
elainefan331 Mar 5, 2026
c98e073
add matlab, dicom, and nirs placeholder in fileProcessors.ts
elainefan331 Mar 5, 2026
ce55fa8
feat: add generate BIDSPlan.yaml functionality
elainefan331 Mar 11, 2026
3f2b10f
feat: download zip folder functionality
elainefan331 Mar 12, 2026
b52e1fd
feat: add filenameTokenizer file
elainefan331 Mar 12, 2026
4590fea
feat: get the parent directory of baseDirectoryPath and append output…
elainefan331 Mar 16, 2026
dfe8a6a
feat: add saved output panel to show output directory
elainefan331 Mar 17, 2026
94d1f0f
feat: modify the subject analysis function
elainefan331 Mar 18, 2026
63ba4a4
feat: add session polling to detect expired JWT and auto-update auth …
elainefan331 Mar 20, 2026
5b1f87d
feat: add Ollama proxy route to backend for jin.neu.edu access
elainefan331 Mar 23, 2026
fcfe16a
feat: update the ollama entry info
elainefan331 Mar 23, 2026
0f3ea9b
feat: change the temperature setting for ollama
elainefan331 Mar 24, 2026
438b418
fix: handle AISummary as string or object in dataset detail page
elainefan331 Mar 24, 2026
37849d0
Merge pull request #122 from NeuroJSON/dev-fan
elainefan331 Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-deploy-zodiac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
# PUBLIC_URL="/dev/${{ env.BRANCH_NAME }}/" yarn build
export PUBLIC_URL="/dev/${{ env.BRANCH_NAME }}/"
export REACT_APP_API_URL="/dev/${{ env.BRANCH_NAME }}/api/v1"
export REACT_APP_USE_CORS=true
export REACT_APP_USE_CORS=false
yarn build

- name: Copy JS libraries (jdata, bjdata etc.)
Expand Down
62 changes: 62 additions & 0 deletions backend/migrations/20260127203625-create-collections.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
"use strict";

/** @type {import('sequelize-cli').Migration} */
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.createTable("collections", {
id: {
type: Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true,
allowNull: false,
},
user_id: {
type: Sequelize.INTEGER,
allowNull: false,
references: {
model: "users",
key: "id",
},
onUpdate: "CASCADE",
onDelete: "CASCADE",
},
name: {
type: Sequelize.STRING(100),
allowNull: false,
},
description: {
type: Sequelize.TEXT,
allowNull: true,
},
is_public: {
type: Sequelize.BOOLEAN,
defaultValue: false,
allowNull: false,
},
created_at: {
type: Sequelize.DATE,
allowNull: false,
defaultValue: Sequelize.literal("CURRENT_TIMESTAMP"),
},
updated_at: {
type: Sequelize.DATE,
allowNull: false,
defaultValue: Sequelize.literal("CURRENT_TIMESTAMP"),
},
});

// Add indexes
await queryInterface.addIndex("collections", ["user_id"], {
name: "collections_user_id_idx",
});

await queryInterface.addIndex("collections", ["user_id", "name"], {
unique: true,
name: "collections_user_name_unique",
});
},

async down(queryInterface, Sequelize) {
await queryInterface.dropTable("collections");
},
};
62 changes: 62 additions & 0 deletions backend/migrations/20260127203731-create-collection-datasets.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
"use strict";

/** @type {import('sequelize-cli').Migration} */
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.createTable("collection_datasets", {
id: {
type: Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true,
allowNull: false,
},
collection_id: {
type: Sequelize.INTEGER,
allowNull: false,
references: {
model: "collections",
key: "id",
},
onUpdate: "CASCADE",
onDelete: "CASCADE",
},
dataset_id: {
type: Sequelize.INTEGER,
allowNull: false,
references: {
model: "datasets",
key: "id",
},
onUpdate: "CASCADE",
onDelete: "CASCADE",
},
created_at: {
type: Sequelize.DATE,
allowNull: false,
defaultValue: Sequelize.literal("CURRENT_TIMESTAMP"),
},
});

// Add indexes
await queryInterface.addIndex("collection_datasets", ["collection_id"], {
name: "collection_datasets_collection_id_idx",
});

await queryInterface.addIndex("collection_datasets", ["dataset_id"], {
name: "collection_datasets_dataset_id_idx",
});

await queryInterface.addIndex(
"collection_datasets",
["collection_id", "dataset_id"],
{
unique: true,
name: "collection_datasets_unique",
}
);
},

async down(queryInterface, Sequelize) {
await queryInterface.dropTable("collection_datasets");
},
};
61 changes: 61 additions & 0 deletions backend/migrations/20260127203948-create-projects.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
"use strict";

/** @type {import('sequelize-cli').Migration} */
module.exports = {
async up(queryInterface, Sequelize) {
await queryInterface.createTable("projects", {
id: {
type: Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true,
allowNull: false,
},
user_id: {
type: Sequelize.INTEGER,
allowNull: false,
references: {
model: "users",
key: "id",
},
onUpdate: "CASCADE",
onDelete: "CASCADE",
},
name: {
type: Sequelize.STRING(200),
allowNull: false,
},
public_id: {
type: Sequelize.STRING(12),
allowNull: false,
unique: true,
defaultValue: "",
},
description: {
type: Sequelize.TEXT,
allowNull: true,
},
extractor_state: {
type: Sequelize.JSON,
allowNull: true,
},
created_at: {
type: Sequelize.DATE,
allowNull: false,
defaultValue: Sequelize.literal("CURRENT_TIMESTAMP"),
},
updated_at: {
type: Sequelize.DATE,
allowNull: false,
defaultValue: Sequelize.literal("CURRENT_TIMESTAMP"),
},
});
// Add indexes
await queryInterface.addIndex("projects", ["user_id"], {
name: "projects_user_id_idx",
});
},

async down(queryInterface, Sequelize) {
await queryInterface.dropTable("projects");
},
};
19 changes: 19 additions & 0 deletions backend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
"dotenv": "^17.2.3",
"express": "^5.1.0",
"jsonwebtoken": "^9.0.2",
"nanoid": "^3.3.11",
"nodemailer": "^7.0.11",
"passport": "^0.7.0",
"passport-google-oauth20": "^2.0.0",
Expand Down
Loading
Loading