Skip to content

Tarif-dev/hsndb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HSNDB Logo

HSNDB - Human S-Nitrosylation Database

The most comprehensive database of human S-nitrosylated proteins for researchers studying nitric oxide signaling

TypeScript React Vite Tailwind CSS Supabase


🧬 About HSNDB

HSNDB (Human S-Nitrosylation Database) is a cutting-edge web application designed for researchers studying S-nitrosylation - a crucial post-translational modification where nitric oxide (NO) forms covalent bonds with cysteine residues in proteins. This database provides comprehensive information about human S-nitrosylated proteins and their role in health and disease.

πŸ”¬ What is S-nitrosylation?

S-nitrosylation is a reversible post-translational modification that serves as a critical regulatory mechanism in cellular signaling. In humans, dysregulated S-nitrosylation is implicated in:

  • πŸ«€ Cardiovascular diseases
  • 🧠 Neurodegenerative disorders
  • 🎯 Cancer
  • ⚑ Metabolic diseases

✨ Key Features

Feature Description
πŸ” Advanced Search Intelligent auto-complete, multi-parameter filtering, and visual query builder
πŸ“Š Interactive Visualizations 3D protein structures, network analysis, and dynamic charts
πŸ“ Flexible Data Export Multiple formats including CSV, JSON, FASTA, and XML
πŸ‘₯ Collaborative Research Share datasets and collaborate with research teams
⚑ High Performance Optimized for large-scale protein data analysis
πŸ›‘οΈ Secure & Reliable Enterprise-grade security with regular backups

πŸš€ Tech Stack

Frontend

  • React 18 - Modern React with hooks and functional components
  • TypeScript - Type-safe development
  • Vite - Lightning-fast build tool and dev server
  • Tailwind CSS - Utility-first CSS framework
  • Shadcn/ui - Beautiful, accessible component library
  • React Router - Client-side routing
  • React Query - Data fetching and caching

Backend & Database

  • Supabase - Backend-as-a-Service with PostgreSQL
  • Real-time subscriptions - Live data updates

Development Tools

  • ESLint - Code linting and formatting
  • PostCSS - CSS processing
  • Bun - Fast package manager

πŸ› οΈ Installation & Setup

Prerequisites

  • Node.js (v18 or higher)
  • Bun (recommended) or npm
  • Git

Quick Start

  1. Clone the repository

    git clone <repository-url>
    cd Nitro
  2. Install dependencies

    # Using Bun (recommended)
    bun install
    
    # Or using npm
    npm install
  3. Set up environment variables

    cp .env.example .env.local
    # Edit .env.local with your Supabase credentials
  4. Start the development server

    # Using Bun
    bun run dev
    
    # Or using npm
    npm run dev
  5. Open your browser

    http://localhost:8080
    

πŸ“œ Available Scripts

Command Description
bun run dev Start development server on port 8080
bun run build Build for production
bun run build:dev Build in development mode
bun run preview Preview production build
bun run lint Run ESLint for code quality

πŸ—οΈ Project Structure

πŸ“ Nitro/
β”œβ”€β”€ πŸ“ public/                 # Static assets
β”‚   β”œβ”€β”€ favicon.ico           # App favicon
β”‚   β”œβ”€β”€ placeholder.svg       # Placeholder images
β”‚   └── robots.txt           # SEO robots file
β”œβ”€β”€ πŸ“ src/
β”‚   β”œβ”€β”€ πŸ“ components/        # React components
β”‚   β”‚   β”œβ”€β”€ πŸ“ ui/           # Shadcn/ui components
β”‚   β”‚   β”œβ”€β”€ BrowseInterface.tsx
β”‚   β”‚   β”œβ”€β”€ CentralSearch.tsx
β”‚   β”‚   β”œβ”€β”€ FeaturesSection.tsx
β”‚   β”‚   β”œβ”€β”€ HeroSection.tsx
β”‚   β”‚   └── Navigation.tsx
β”‚   β”œβ”€β”€ πŸ“ hooks/            # Custom React hooks
β”‚   β”œβ”€β”€ πŸ“ integrations/     # External service integrations
β”‚   β”‚   └── πŸ“ supabase/     # Supabase configuration
β”‚   β”œβ”€β”€ πŸ“ lib/              # Utility libraries
β”‚   β”œβ”€β”€ πŸ“ pages/            # Page components
β”‚   └── App.tsx              # Main app component
β”œβ”€β”€ πŸ“„ package.json          # Project dependencies
β”œβ”€β”€ πŸ“„ vite.config.ts        # Vite configuration
β”œβ”€β”€ πŸ“„ tailwind.config.ts    # Tailwind CSS config
└── πŸ“„ tsconfig.json         # TypeScript configuration

🎨 UI Components

This project uses Shadcn/ui components for a consistent and accessible design system:

  • Forms: Input, Select, Textarea, Checkbox, Radio Group
  • Navigation: Navigation Menu, Breadcrumb, Pagination
  • Data Display: Table, Card, Badge, Avatar
  • Feedback: Alert, Toast, Progress, Skeleton
  • Overlay: Dialog, Popover, Tooltip, Sheet
  • Charts: Recharts integration for data visualization

πŸ—„οΈ Database Schema

The application uses Supabase PostgreSQL with the following main entities:

Proteins Table

- id: UUID (Primary Key)
- hsn_id: String (Human S-Nitrosylation ID)
- protein_name: String
- gene_name: String
- uniprot_id: String
- alphafold_id: String
- protein_length: Integer
- positions_of_nitrosylation: String
- total_sites: Integer
- cancer_causing: Boolean
- cancer_types: String Array
- created_at: Timestamp
- updated_at: Timestamp

Cancer Mutations Table (New!)

- id: UUID (Primary Key)
- protein_id: UUID (Foreign Key to Proteins Table)
- mutation_type: String
- position: Integer
- amino_acid_change: String
- cancer_type: String
- evidence_level: String
- created_at: Timestamp
- updated_at: Timestamp

πŸš€ Deployment

Production Build

bun run build

Environment Variables

Create a .env.local file with:

VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key

🀝 Contributing

We welcome contributions from the research community!

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Commit your changes
    git commit -m 'Add amazing feature'
  4. Push to the branch
    git push origin feature/amazing-feature
  5. Open a Pull Request

Development Guidelines

  • Follow TypeScript best practices
  • Use Tailwind CSS for styling
  • Write meaningful commit messages
  • Test your changes thoroughly
  • Update documentation as needed

πŸ“‹ Roadmap

  • Advanced Analytics Dashboard
  • Machine Learning Predictions
  • API Documentation & Public API
  • Mobile App Version
  • Integration with PDB Database
  • Real-time Collaboration Features
  • Enhanced Visualization Tools

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘¨β€πŸ’» Development Team

Built with ❀️ for the scientific research community.


πŸ“ž Support & Contact


🧬 Advancing S-nitrosylation research through innovative technology 🧬

Follow these steps:

# Step 1: Clone the repository using the project's Git URL.
git clone <YOUR_GIT_URL>

# Step 2: Navigate to the project directory.
cd <YOUR_PROJECT_NAME>

# Step 3: Install the necessary dependencies.
npm i

# Step 4: Start the development server with auto-reloading and an instant preview.
npm run dev

Edit a file directly in GitHub

  • Navigate to the desired file(s).
  • Click the "Edit" button (pencil icon) at the top right of the file view.
  • Make your changes and commit the changes.

Use GitHub Codespaces

  • Navigate to the main page of your repository.
  • Click on the "Code" button (green button) near the top right.
  • Select the "Codespaces" tab.
  • Click on "New codespace" to launch a new Codespace environment.
  • Edit files directly within the Codespace and commit and push your changes once you're done.

What technologies are used for this project?

This project is built with:

  • Vite
  • TypeScript
  • React
  • shadcn-ui
  • Tailwind CSS

About

State of the art Human S-nitrosylation Database (HSNDB)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •