Skip to content

susbakun/Signalist

Repository files navigation

πŸš€ Signalist

Signalist Logo

Advanced Cryptocurrency Trading Platform with Modern UI and Complete Features

React TypeScript Vite Tailwind CSS Redux Toolkit

πŸ“‹ Table of Contents

🎯 Introduction

Signalist is an advanced cryptocurrency trading platform built with the latest web technologies. This project includes a modern frontend with React and TypeScript, and a powerful backend with Express.js.

🌟 Key Features

  • Modern UI: Beautiful and user-friendly design with Tailwind CSS
  • Live Trading: Real-time price displays and charts
  • Portfolio Management: Track investments and profit/loss
  • High Security: Advanced authentication and authorization
  • Mobile Support: Responsive design for all devices

✨ Features

πŸ“Š Charts & Analytics

  • Integrated TradingView charts
  • Technical analysis tools
  • Live price displays
  • Various market indicators

πŸ’Ό Portfolio Management

  • Asset tracking
  • Profit/loss calculations
  • Analytical reports
  • Risk management

πŸ” Security & Authentication

  • Two-factor authentication
  • Secure session management
  • Data encryption
  • API protection

πŸ“± User Experience

  • Responsive user interface
  • Smooth animations
  • Fast loading
  • PWA support

πŸ›  Technologies Used

Frontend

  • React 18.2.0 - UI library
  • TypeScript 5.2.2 - Type-safe programming language
  • Vite 5.2.0 - Fast build tool
  • Tailwind CSS 3.4.3 - CSS framework
  • Redux Toolkit 2.2.3 - State management
  • React Router 6.23.0 - Routing
  • Framer Motion 12.5.0 - Animations

Backend

  • Express.js - Node.js framework
  • Socket.io - Real-time communication
  • Redis - Cache and session storage
  • JWT - Authentication
  • AWS S3 - File storage

Development Tools

  • ESLint - Code linting
  • Prettier - Code formatting
  • Vitest - Testing framework
  • Husky - Git hooks

πŸš€ Installation & Setup

Prerequisites

  • Node.js (version 18 or higher)
  • npm or yarn
  • Git

Frontend Installation

# Clone the repository
git clone https://github.com/your-username/signalist.git
cd signalist

# Install dependencies
npm install

# Run development server
npm run dev

Backend Installation

# Navigate to backend folder
cd signalist-backend

# Install dependencies
npm install

# Run development server
npm run dev

Environment Variables

Create a .env file in the root directory:

# Frontend
VITE_API_URL=http://localhost:3000
VITE_SOCKET_URL=http://localhost:3000
VITE_GOOGLE_RECAPTCHA_SITE_KEY=your_recaptcha_key

# Backend
PORT=3000
JWT_SECRET=your_jwt_secret
REDIS_URL=redis://localhost:6379
AWS_ACCESS_KEY_ID=your_aws_key
AWS_SECRET_ACCESS_KEY=your_aws_secret
AWS_REGION=your_aws_region
AWS_S3_BUCKET=your_s3_bucket

πŸ“ Project Structure

signalist/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/           # Redux store configuration
β”‚   β”œβ”€β”€ components/    # Reusable components
β”‚   β”œβ”€β”€ features/      # Main features (Redux slices)
β”‚   β”œβ”€β”€ hooks/         # Custom hooks
β”‚   β”œβ”€β”€ pages/         # Main pages
β”‚   β”œβ”€β”€ services/      # API services
β”‚   β”œβ”€β”€ shared/        # Shared components and utilities
β”‚   β”œβ”€β”€ utils/         # Helper functions
β”‚   └── assets/        # Images and static files
β”œβ”€β”€ public/            # Public files
β”œβ”€β”€ tests/             # Test files
└── dist/              # Build files

πŸ“œ Available Scripts

# Development
npm run dev          # Run development server
npm run build        # Build for production
npm run preview      # Preview production build

# Testing
npm run test         # Run tests
npm run test:watch   # Run tests in watch mode
npm run test:coverage # Run tests with coverage report

# Code Quality
npm run lint         # Lint code with ESLint

πŸ§ͺ Testing

The project uses Vitest for testing:

# Run all tests
npm run test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage report
npm run test:coverage

Test Structure

tests/
β”œβ”€β”€ components/       # Component tests
β”œβ”€β”€ hooks/           # Custom hook tests
β”œβ”€β”€ utils/           # Utility function tests
└── integration/     # Integration tests

πŸš€ Deployment

Liara (Frontend)

# Install Liara CLI
npm i -g @liara/cli

# Login to Liara
liara login

# Deploy
liara deploy

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the project
  2. Create a new 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. Create a Pull Request

Contribution Guidelines

  • Format your code with ESLint and Prettier
  • Write appropriate tests for new features
  • Update documentation
  • Use conventional commits

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for more details.

πŸ“ž Support

πŸ™ Acknowledgments

Thank you to all contributors and users who have helped in the development of this project.


Made with ❀️ by the Signalist Team

GitHub stars GitHub forks

About

This project is a social media app for cryptocurrency enthusiasts with some great features for signalists.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages