Add initial project structure and documentation files
- Created .gitignore to exclude sensitive files and directories. - Added API documentation in API_DOCUMENTATION.md. - Included deployment instructions in DEPLOYMENT.md. - Established project structure documentation in PROJECT_STRUCTURE.md. - Updated README.md with project status and team information. - Added recommendations and status tracking documents. - Introduced testing guidelines in TESTING.md. - Set up CI workflow in .github/workflows/ci.yml. - Created Dockerfile for backend and frontend setups. - Added various service and utility files for backend functionality. - Implemented frontend components and pages for user interface. - Included mobile app structure and services. - Established scripts for deployment across multiple chains.
This commit is contained in:
13
docs/project-management/README.md
Normal file
13
docs/project-management/README.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Project Management Documentation
|
||||
|
||||
This directory contains project management, planning, and setup documentation.
|
||||
|
||||
## Files
|
||||
|
||||
- **ROADMAP_PLAN.md** - Detailed roadmap and implementation plans
|
||||
- **SETUP.md** - Setup and installation guides
|
||||
|
||||
## Purpose
|
||||
|
||||
These documents provide guidance for project planning, setup, and long-term roadmap planning.
|
||||
|
||||
1515
docs/project-management/ROADMAP_PLAN.md
Normal file
1515
docs/project-management/ROADMAP_PLAN.md
Normal file
File diff suppressed because it is too large
Load Diff
221
docs/project-management/SETUP.md
Normal file
221
docs/project-management/SETUP.md
Normal file
@@ -0,0 +1,221 @@
|
||||
# ASLE Setup Guide
|
||||
|
||||
Complete setup instructions for the ASLE platform.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Node.js 18+ and npm
|
||||
- PostgreSQL 14+
|
||||
- Redis (optional, for caching)
|
||||
- Docker and Docker Compose (optional)
|
||||
|
||||
## Quick Start
|
||||
|
||||
### 1. Clone and Install
|
||||
|
||||
```bash
|
||||
# Install backend dependencies
|
||||
cd backend
|
||||
npm install
|
||||
|
||||
# Install frontend dependencies
|
||||
cd ../frontend
|
||||
npm install
|
||||
```
|
||||
|
||||
### 2. Database Setup
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
|
||||
# Copy environment file
|
||||
cp .env.example .env
|
||||
|
||||
# Edit .env with your database credentials
|
||||
# DATABASE_URL="postgresql://user:password@localhost:5432/asle"
|
||||
|
||||
# Generate Prisma client
|
||||
npm run prisma:generate
|
||||
|
||||
# Run migrations
|
||||
npm run prisma:migrate
|
||||
|
||||
# Initialize database with default configs
|
||||
npm run setup:db
|
||||
|
||||
# Create initial admin user
|
||||
npm run setup:admin
|
||||
```
|
||||
|
||||
### 3. Environment Configuration
|
||||
|
||||
Edit `backend/.env` with your configuration:
|
||||
|
||||
**Required:**
|
||||
- `DATABASE_URL` - PostgreSQL connection string
|
||||
- `JWT_SECRET` - Secret key for JWT tokens (use strong random string)
|
||||
- `DIAMOND_ADDRESS` - Deployed Diamond contract address
|
||||
- `RPC_URL` - Ethereum RPC endpoint
|
||||
|
||||
**Optional (for push notifications):**
|
||||
- `FIREBASE_SERVICE_ACCOUNT` - Firebase service account JSON
|
||||
- `ONESIGNAL_APP_ID` and `ONESIGNAL_API_KEY` - OneSignal credentials
|
||||
- `AWS_SNS_IOS_ARN` and `AWS_SNS_ANDROID_ARN` - AWS SNS platform ARNs
|
||||
- `FCM_SERVER_KEY` - Firebase Cloud Messaging server key
|
||||
- `APNS_KEY_ID`, `APNS_TEAM_ID`, `APNS_KEY_PATH` - Apple Push Notification credentials
|
||||
|
||||
**Optional (for KYC/AML):**
|
||||
- Provider API keys (Sumsub, Onfido, Jumio, Veriff, Persona, Chainalysis, Elliptic, CipherTrace, TRM)
|
||||
|
||||
### 4. Start Services
|
||||
|
||||
**Backend:**
|
||||
```bash
|
||||
cd backend
|
||||
npm run dev
|
||||
```
|
||||
|
||||
**Frontend:**
|
||||
```bash
|
||||
cd frontend
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### 5. Access Applications
|
||||
|
||||
- **Frontend:** http://localhost:3000
|
||||
- **Backend API:** http://localhost:4000
|
||||
- **Admin Dashboard:** http://localhost:3000/admin
|
||||
- **User DApp:** http://localhost:3000/dapp
|
||||
- **GraphQL Playground:** http://localhost:4000/graphql
|
||||
|
||||
## Production Deployment
|
||||
|
||||
### 1. Build
|
||||
|
||||
```bash
|
||||
# Backend
|
||||
cd backend
|
||||
npm run build
|
||||
|
||||
# Frontend
|
||||
cd ../frontend
|
||||
npm run build
|
||||
```
|
||||
|
||||
### 2. Environment Variables
|
||||
|
||||
Set all environment variables in your production environment. Use a secret management service (AWS Secrets Manager, HashiCorp Vault) for sensitive values.
|
||||
|
||||
### 3. Database Migration
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
npm run prisma:migrate deploy
|
||||
```
|
||||
|
||||
### 4. Run
|
||||
|
||||
```bash
|
||||
# Backend
|
||||
cd backend
|
||||
npm start
|
||||
|
||||
# Frontend
|
||||
cd frontend
|
||||
npm start
|
||||
```
|
||||
|
||||
## Docker Deployment
|
||||
|
||||
```bash
|
||||
# Build and start all services
|
||||
docker-compose up -d
|
||||
|
||||
# View logs
|
||||
docker-compose logs -f
|
||||
|
||||
# Stop services
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
## Admin Setup
|
||||
|
||||
### Create Admin User
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
npm run setup:admin
|
||||
```
|
||||
|
||||
Follow the prompts to create your first admin user.
|
||||
|
||||
### Login
|
||||
|
||||
1. Navigate to http://localhost:3000/admin/login
|
||||
2. Enter your admin credentials
|
||||
3. Access the admin dashboard
|
||||
|
||||
## Testing
|
||||
|
||||
### Backend Tests
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
npm test
|
||||
npm run test:watch
|
||||
npm run test:coverage
|
||||
```
|
||||
|
||||
### Frontend Tests
|
||||
|
||||
```bash
|
||||
cd frontend
|
||||
npm test
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Database Connection Issues
|
||||
|
||||
- Verify PostgreSQL is running
|
||||
- Check `DATABASE_URL` in `.env`
|
||||
- Ensure database exists: `CREATE DATABASE asle;`
|
||||
|
||||
### Migration Issues
|
||||
|
||||
```bash
|
||||
# Reset database (WARNING: deletes all data)
|
||||
npm run prisma:migrate reset
|
||||
|
||||
# Create new migration
|
||||
npm run prisma:migrate dev --name migration_name
|
||||
```
|
||||
|
||||
### Port Already in Use
|
||||
|
||||
Change `PORT` in `.env` or kill the process using the port:
|
||||
|
||||
```bash
|
||||
# Find process
|
||||
lsof -i :4000
|
||||
|
||||
# Kill process
|
||||
kill -9 <PID>
|
||||
```
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. Configure push notification providers
|
||||
2. Set up KYC/AML provider credentials
|
||||
3. Deploy smart contracts
|
||||
4. Configure white-label instances
|
||||
5. Set up monitoring and alerting
|
||||
|
||||
## Support
|
||||
|
||||
For issues or questions, see:
|
||||
- [README.md](./README.md)
|
||||
- [DEPLOYMENT.md](./DEPLOYMENT.md)
|
||||
- [API_DOCUMENTATION.md](./API_DOCUMENTATION.md)
|
||||
|
||||
Reference in New Issue
Block a user