- Introduction
- Features
- Technologies Used
- Installation & Setup
- Project Structure
- Available Scripts
- Testing
- Deployment
- Contributing
- License
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.
- 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
- Integrated TradingView charts
- Technical analysis tools
- Live price displays
- Various market indicators
- Asset tracking
- Profit/loss calculations
- Analytical reports
- Risk management
- Two-factor authentication
- Secure session management
- Data encryption
- API protection
- Responsive user interface
- Smooth animations
- Fast loading
- PWA support
- 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
- Express.js - Node.js framework
- Socket.io - Real-time communication
- Redis - Cache and session storage
- JWT - Authentication
- AWS S3 - File storage
- ESLint - Code linting
- Prettier - Code formatting
- Vitest - Testing framework
- Husky - Git hooks
- Node.js (version 18 or higher)
- npm or yarn
- Git
# Clone the repository
git clone https://github.com/your-username/signalist.git
cd signalist
# Install dependencies
npm install
# Run development server
npm run dev# Navigate to backend folder
cd signalist-backend
# Install dependencies
npm install
# Run development server
npm run devCreate 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_bucketsignalist/
βββ 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
# 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 ESLintThe 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:coveragetests/
βββ components/ # Component tests
βββ hooks/ # Custom hook tests
βββ utils/ # Utility function tests
βββ integration/ # Integration tests
# Install Liara CLI
npm i -g @liara/cli
# Login to Liara
liara login
# Deploy
liara deployWe welcome contributions! Please follow these steps:
- Fork the project
- Create a new branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Create a Pull Request
- Format your code with ESLint and Prettier
- Write appropriate tests for new features
- Update documentation
- Use conventional commits
This project is licensed under the MIT License. See the LICENSE file for more details.
- Email: support@signalist.com
- Twitter: @signalist_app
- Telegram: @signalist_support
Thank you to all contributors and users who have helped in the development of this project.