Auto Social is a React Native mobile application that allows users to schedule and automate their Twitter posts. The app provides a user-friendly interface for creating, scheduling, and managing Twitter posts.
- Authentication: Secure user authentication using AWS Cognito
- Post Creation: Create Twitter posts with text and media
- Scheduling: Schedule posts for specific times or add them to predefined slots
- Schedule Management: Create and manage posting schedules (e.g., every Monday at 9 AM)
- User Settings: Manage profile and app preferences
- React Native with TypeScript
- Expo Framework
- React Navigation for routing
- React Native Paper for UI components
- AWS SDK for direct AWS service integration
- AWS Cognito for authentication
- AWS API Gateway for API endpoints
- AWS Lambda for serverless functions
- AWS DynamoDB for database
- AWS S3 for media storage
The project is organized into two main directories:
app/: Contains all the React Native mobile app codeapi/: Contains all the backend serverless code
app/components/: Reusable UI componentsapp/screens/: Screen components organized by featureapp/context/: React context providersapp/hooks/: Custom React hooksapp/utils/: Utility functions and servicesapp/config/: Configuration filesapp/types/: TypeScript type definitionsapp/assets/: Images and other static assets
- Node.js (v14 or later)
- npm or yarn
- Expo CLI
- AWS Account
-
Clone the repository:
git clone https://github.com/yourusername/autosocial.git cd autosocial -
Install dependencies for the mobile app:
cd app npm install -
Set up environment variables:
- Create a
.envfile in theappdirectory based on the.env.exampletemplate - Fill in your AWS credentials and other configuration values
- Create a
-
Start the Expo development server:
npm start -
Run on a device or emulator:
- Press
ato run on Android emulator - Press
ito run on iOS simulator (requires macOS) - Scan the QR code with the Expo Go app on your physical device
- Press
-
Install AWS CLI and configure with your credentials
-
Deploy the backend resources:
cd api npm install npm run deploy
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.