A modern, serverless scooter management application built with React frontend and AWS Lambda backend services.
DalScooter is a comprehensive serverless application designed for managing electric scooter rentals and operations. The system provides real-time scooter tracking, user management, chatbot support, and analytics through a modern web interface powered by AWS serverless services.
-
User Authentication & Authorization
- Secure user registration and login
- Multi-factor authentication (MFA) support
- Role-based access control
-
Intelligent Chatbot Support
- Amazon Lex integration for natural language processing
- Real-time customer support
- Automated issue resolution
-
Real-time Notifications
- SNS/SQS-based notification system
- Email, SMS, and push notifications
- Configurable notification preferences
-
Messaging System
- Publisher-subscriber pattern implementation
- Real-time message processing
- Event-driven architecture
-
Sentiment Analysis
- AWS Comprehend integration
- User feedback analysis
- Performance insights
-
Analytics Dashboard
- Real-time scooter status monitoring
- Usage statistics and metrics
- Performance analytics
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ React Frontend│ │ AWS API Gateway│ │ AWS Lambda │
│ │◄──►│ │◄──►│ Functions │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Amazon Cognito │ │ Amazon DynamoDB│
│ (Auth) │ │ (Database) │
└─────────────────┘ └─────────────────┘
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ Amazon SNS/SQS │ │ Amazon Lex │
│ (Notifications)│ │ (Chatbot) │
└─────────────────┘ └─────────────────┘
- React 18 - Modern UI framework
- React Router - Client-side routing
- AWS Amplify - AWS service integration
- Axios - HTTP client
- CSS3 - Styling and animations
- AWS Lambda - Serverless compute
- Node.js 18 - Runtime environment
- Serverless Framework - Infrastructure as code
- AWS SDK - AWS service integration
- Amazon DynamoDB - NoSQL database
- Amazon S3 - File storage (future)
- Amazon Cognito - User authentication
- Amazon Lex - Chatbot functionality
- Amazon SNS/SQS - Messaging and notifications
- Amazon Comprehend - Sentiment analysis
- AWS API Gateway - REST API management
- Node.js 18+
- npm or yarn
- AWS CLI configured
- Serverless Framework
# Navigate to frontend directory
cd frontend
# Install dependencies
npm install
# Start development server
npm start# Navigate to backend directory
cd backend
# Install dependencies
npm install
# Install serverless framework globally
npm install -g serverless
# Start local development server
npm run offline-
Start Backend Services:
cd backend npm run offline -
Start Frontend Application:
cd frontend npm start
- Dashboard: View scooter status and system metrics
- Authentication: Register and login with secure credentials
- Chatbot: Interact with AI-powered support assistant
- Analytics: Monitor usage patterns and performance
# Frontend tests
cd frontend
npm test
# Backend tests
cd backend
npm testcd frontend
npm run build
# Deploy to AWS S3 + CloudFront or similarcd backend
npm run deploy
# Deploys to AWS using Serverless Framework# Deploy to production
npm run deploy:prod- Fork the repository
- Create a feature 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) - Open a Pull Request
Built with love by DalScooter Team 17