https://github.com/fgcz/new_sushi_2025

https://github.com/fgcz/new_sushi_2025

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.0%) to scientific vocabulary
Last synced: 5 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: fgcz
  • License: mit
  • Language: Ruby
  • Default Branch: main
  • Size: 498 KB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created 6 months ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

New SUSHI 2025

Rails v8 API and FastAPI (backend) + Next.js (frontend) implementation of the SUSHI bioinformatics system.

1. Prerequisites

  • Ruby 3.3.7
  • Python 3.12.x
  • Node.js 22.16.0
  • Git

2. Environment Setup

(on fgcz-r-029)

1. Load Required Modules

bash module load Dev/Ruby/3.3.7 module load Dev/node/22.16.0

2. Clone Repository

bash cd /misc/fgcz01/sushi/ git clone git@github.com:fgcz/new_SUSHI_2025 cd new_sushi_2025

3. Backend Setup

```bash cd backend

Configure Bundler for local gem installation

bundle config set --local path 'vendor/bundle'

Install gems

bundle install ```

4. Frontend Setup

```bash cd ../frontend

Install dependencies

npm install ```

2. Development Environment Setup (Limited Compilation Environment)

  1. Prepare Libraries on Compilation-Capable Machine: ```bash # Clone repository git clone git@github.com:fgcz/newSUSHI2025 cd newsushi2025

Load required modules

module load Dev/Ruby/3.3.7 module load Dev/node/22.16.0

Install backend dependencies

cd backend bundle config set --local path 'vendor/bundle' cp -r /misc/fgcz01/sushi/newSUSHI2025/backend/vendor .

Run tests to verify setup

bundle exec rspec

Install frontend dependencies

cd ../frontend cp -r /misc/fgcz01/sushi/newSUSHI2025/frontend/node_modules .

Run tests to verify setup

npm test ```

  1. Database Setup (SQLite3, for development): ```bash cd ../backend/ # Setup database bundle exec rails db:create bundle exec rails db:migrate

Run API server

bundle exec rails s -b fgcz-h-037.fgcz-net.unizh.ch -p 4000 ```

  1. Frontend Verification: ```bash cd frontend

Start development server

npm run dev -- --port 4001 ```

4. Production Deployment Setup

TODO: update

1. Prerequisites

  • Full development environment with compilation tools
  • All system libraries required for native gem compilation
  • Proper SSL certificates and security configurations

2. Backend Production Setup

```bash cd backend

Configure Bundler for production

bundle config set --local path 'vendor/bundle'

Install production dependencies

bundle install

Database setup

RAILSENV=production bundle exec rails db:create RAILSENV=production bundle exec rails db:migrate

Precompile assets (if needed)

RAILS_ENV=production bundle exec rails assets:precompile

Run production server

RAILS_ENV=production bundle exec rails server -p 4000 ```

3. Frontend Production Setup

```bash cd frontend

Install production dependencies

npm ci --only=production

Build application

npm run build

Start production server

npm start ```

4. Docker Deployment

```bash

Build images

docker-compose build

Deploy

docker-compose up -d

Health check

docker-compose ps ```

5. Test

1. Backend Tests

bash cd backend bundle exec rspec # Run all tests bundle exec rspec --format doc # Verbose output

2. Frontend Tests

bash cd frontend npm test # Interactive mode npm run test:watch # Watch mode npm run test:coverage # With coverage npm run test:ci # CI mode

6. Project Structure

new_sushi_2025/ ├── backend/ # Rails v8 API │ ├── app/ │ ├── config/ │ ├── spec/ # RSpec tests │ └── vendor/bundle/ (ignored) ├── frontend/ # Next.js app │ ├── app/ │ ├── __tests__/ │ └── node_modules/ (ignored) └── README.md

7. Environment Variables

Create these files if needed (not committed to repository):

1. Backend

```bash

backend/.env

DATABASEURL=sqlite3:db/development.sqlite3 RAILSENV=development ```

2. Frontend

```bash

frontend/.env.local

NEXTPUBLICAPI_URL=http://localhost:4000 ```

8. Architecture

  • Backend: Rails v8 API-only mode, FastAPI (later)
  • Frontend: Next.js 15 with TypeScript
  • Database: SQLite (development), PostgreSQL (production)
  • Testing: RSpec (backend), Jest + React Testing Library (frontend)
  • Styling: Tailwind CSS

Owner

  • Name: Functional Genomics Center UZH|ETH Zurich
  • Login: fgcz
  • Kind: organization
  • Email: protinf@fgcz.ethz.ch
  • Location: Switzerland

proteome informatics FGCZ

GitHub Events

Total
  • Push event: 3
  • Create event: 1
Last Year
  • Push event: 3
  • Create event: 1

Issues and Pull Requests

Last synced: 5 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • RonaldDomi (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/ci-cd.yml actions
.github/workflows/mirror.yml actions
backend/Dockerfile docker
  • base latest build
  • docker.io/library/ruby $RUBY_VERSION-slim build
frontend/Dockerfile docker
  • base latest build
  • node 18-slim build
frontend/package-lock.json npm
  • 663 dependencies
frontend/package.json npm
  • @babel/core ^7.25.0 development
  • @testing-library/jest-dom ^6.6.3 development
  • @testing-library/react ^16.3.0 development
  • @testing-library/user-event ^14.6.1 development
  • @types/jest ^29.5.14 development
  • @types/node ^20 development
  • @types/react ^18 development
  • @types/react-dom ^18 development
  • @types/testing-library__jest-dom ^5.14.9 development
  • autoprefixer ^10.4.21 development
  • babel-jest ^29.7.0 development
  • eslint ^8 development
  • eslint-config-next 14.1.0 development
  • jest ^29.7.0 development
  • jest-environment-jsdom ^29.7.0 development
  • postcss ^8.5.6 development
  • tailwindcss ^3.4.17 development
  • typescript ^5 development
  • next 14.1.0
  • react ^18
  • react-dom ^18
backend/Gemfile rubygems
  • brakeman >= 0 development
  • database_cleaner-active_record ~> 2.1 development
  • factory_bot_rails ~> 6.2 development
  • faker ~> 3.2 development
  • net-ldap >= 0.16.0 development
  • rspec-rails ~> 6.0 development
  • rubocop-rails-omakase >= 0 development
  • simplecov ~> 0.22 development
  • simplecov-rcov ~> 0.3 development
  • sqlite3 >= 2.1 development
  • vcr ~> 6.2 development
  • webmock ~> 3.18 development
  • bootsnap >= 0
  • devise = 4.9.4
  • devise-jwt ~> 0.9
  • devise-two-factor ~> 6.0
  • jwt ~> 2.7
  • kamal >= 0
  • mysql2 >= 0.5.5
  • omniauth ~> 2.1
  • omniauth-github ~> 2.0
  • omniauth-google-oauth2 ~> 1.1
  • omniauth-rails_csrf_protection ~> 1.0
  • puma >= 5.0
  • rack-cors >= 0
  • rails ~> 8.0.2
  • rotp ~> 6.2
  • solid_cable >= 0
  • solid_cache >= 0
  • solid_queue >= 0
  • thruster >= 0
backend/Gemfile.lock rubygems
  • 156 dependencies