NeuraCoin is a modern, cross-platform fintech application built with React Native and Expo, designed to provide users with a seamless cryptocurrency trading and portfolio management experience.
- User registration and login
- Email verification flow
- Secure token-based authentication
- Profile management
- Secure storage for sensitive data
- iOS (Native & Expo Go)
- Android (Native & Expo Go)
- Web (Progressive Web App)
- Real-time cryptocurrency market data
- Portfolio tracking and management
- Transaction history
- Market analytics and insights
- Secure crypto wallet simulation
- Dark theme with gradient designs
- Smooth animations and transitions
- Responsive design for all screen sizes
- Intuitive navigation with tab-based structure
- TypeScript for type safety
- State management with Zustand
- Local data persistence
- Toast notifications
- Pull-to-refresh functionality
- Offline-first architecture
- ✅ Authentication system
- ✅ Basic navigation
- ✅ Market data display
- ✅ Portfolio overview
- 🔄 Real trading functionality
- 🔄 Advanced charts and analytics
- 🔄 Push notifications
- 🔄 Biometric authentication
- 🔄 Social features
- 📋 DeFi integration
- 📋 NFT marketplace
- 📋 Advanced trading tools
- 📋 Multi-wallet support
- Node.js (v20.19.4 or higher)
- npm or yarn
- Expo CLI
- Expo Go app on your mobile device
- Clone the repository
git clone https://github.com/yourusername/NeuraCoin.git
cd NeuraCoin- Install dependencies
npm install
# or
yarn install- Start the development server
npx expo start
# or
expo start- Run on device/simulator
- iOS: Press
iin the terminal or scan QR code with Camera app - Android: Press
ain the terminal or scan QR code with Expo Go app - Web: Press
win the terminal
- iOS: Press
NeuraCoin/
├── app/ # App routing (Expo Router v3)
│ ├── (auth)/ # Authentication screens
│ │ ├── login.tsx
│ │ ├── register.tsx
│ │ ├── verify.tsx
│ │ └── welcome.tsx
│ ├── (tabs)/ # Main app tabs
│ │ ├── index.tsx # Home screen
│ │ ├── market.tsx # Market data
│ │ ├── portfolio.tsx # Portfolio management
│ │ ├── profile.tsx # User profile
│ │ └── transactions.tsx # Transaction history
│ └── _layout.tsx # Root layout
├── components/ # Reusable UI components
│ └── features/ # Feature-specific components
├── lib/ # Core utilities and services
│ ├── api/ # API integrations
│ ├── database/ # Local storage
│ ├── services/ # Business logic
│ ├── store/ # State management (Zustand)
│ └── utils/ # Helper functions
├── types/ # TypeScript type definitions
└── assets/ # Static assets
- Framework: React Native with Expo
- Language: TypeScript
- Navigation: Expo Router (file-based routing)
- State Management: Zustand
- Storage: AsyncStorage + Expo SecureStore
- UI: React Native + Expo Linear Gradient
- Icons: Expo Vector Icons
- API: CoinGecko API (with fallback mock data)
- Development: Expo Go for rapid development
Create a .env file in the root directory:
EXPO_PUBLIC_API_BASE_URL=https://api.your-backend.com
EXPO_PUBLIC_CRYPTO_API_KEY=your_crypto_api_keyThe app is configured in app.json:
{
"expo": {
"name": "NeuraCoin",
"slug": "neuracoin",
"version": "1.0.0",
"platforms": ["ios", "android", "web"]
}
}# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Run tests in watch mode
npm run test:watch# Build for iOS
expo build:ios
# Or with EAS Build
eas build --platform ios# Build for Android
expo build:android
# Or with EAS Build
eas build --platform androidTushar Verma
- GitHub: @vtushar06
- Expo team for the amazing development platform
- React Native community for continuous support
- Contributors and beta testers
Made with ❤️ by Tushar Verma