Application Name: uSayit
Description:
Aplikasi yang dapat mengirim pesan sesuai yang diinput oleh pengguna ke berbagai macam official platform sosial media yang bersifat anonim.
-
Social Media Platforms
-
Twitter
-
Instagram
-
-
Website Application
- UI/UX Design: https://www.figma.com/file/vG4tOzFFlFurGfPcM4rHcq/Mono?node-id=0%3A1
- Landing Page
- Halaman Informasi tentang Aplikasi
- Informasi Platform yang tersedia
- Kebijakan dalam penggunaan aplikasi
- Button menuju ke halaman message page
- FAQ
- Kolom Saran berupa text input dan button post. Setelah button post di click akan mengirim data melalui api dan akan dikirim ke Channel Discord
- Button menuju ke halaman Credits Page
- Message Page
- Button menuju ke Landing Page
- Text Input Box dengan limit karakter 270
- Check box platform yang tersedia
- Button image preview untuk platform instagram ketika chekbox instagram = true. Data image preview akan diakses melalui API
- Button Post hanya muncul ketika panjang karakter ≥ 6. Setelah button post di click, Text yang terdapat pada Text Input Box akan dikirim melalui API beserta dengan IP address pengirim
- Credits Page
- Nama-nama contributor beserta job desk dan akun sosial media
- Button Menuju Landing Page
-
Database
- Software: MogoDB
- Collections
-
history_message
-
Document Template:
{ _id: Object, uuid: String, timestamp: Epoch Timestamp, ipv4: String, deviceInfo: String, message: String, instagram: Boolean, twitter: Boolean }
-
-
instagram_cookies
-
Document Template
{ _id: Object, index: 0, cookies: String }
-
-
-
Application Programing Interface (API)
- Language: JavaScript (NodeJS)
- NPM: express, sequelize
- API Documentation
-
End-Point: /sendMessage
- Method: POST
-
Description: Post ke platform sesuai dengan data yang dikirim menggunakan twitter dan instagram automation, menambahkan data ke database
-
Request Payload
{ "text": "Isi pesan disini", "instagram": true, "twitter": true, "ipv4": "ip", "deviceInfo": "device" }
-
Response Data
-
Status: OK
{ "statusCode": 200, "resCode": "sendMessage-OK", "message": "OK" }
-
Status: ERROR
{ "statusCode": 405, "resCode": "sendMessage-invalid-1", "message": "Text not valid" }
{ "statusCode": 405, "resCode": "sendMessage-invalid-2", "message": "Text not valid, Maximum 25 char per words" }
{ "statusCode": 405, "resCode": "sendMessage-invalid-3", "message": "Invalid Character" }
{ "statusCode": 405, "resCode": "sendMessage-invalid-4", "message": "No platforms found" }
{ "statusCode": 405, "resCode": "sendMessage-invalid-5", "message": "IPv4 not valid" }
{ "statusCode": 405, "resCode": "sendMessage-invalid-6", "message": "Device Info not valid" }
{ "statusCode": 405, "resCode": "sendMessage-invalid-7-1", "message": "This message is already post in Instagram and Twitter, please send another message" }
{ "statusCode": 405, "resCode": "sendMessage-invalid-7-2", "message": "This message is already post in Instagram, please send another message or you can post to Twitter only" }
{ "statusCode": 405, "resCode": "sendMessage-invalid-7-3", "message": "This message is already post in Twitter, please send another message or you can post to Instagram only" }
{ "statusCode": 400, "resCode": "middleware-1", "message": "Error JSON Parse" }
-
-
- Method: POST
-
End-Point: /igPreview
- Method: POST
-
Description: Mendapatkan preview image untuk feed IG dari hasil image manipulation
-
Request Payload
{ "text": "Isi pesan disini" }
-
Response Data
-
Status: OK
{ "statusCode": 200, "resCode": "igPreview-OK", "message": "OK", "image": "base64-image" }
-
Status: ERROR
{ "statusCode": 405, "resCode": "igPreview-invalid-1", "message": "Text not valid" }
{ "statusCode": 405, "resCode": "igPreview-invalid-2", "message": "Text not valid, Maximum 25 char per words" }
{ "statusCode": 405, "resCode": "igPreview-invalid-3", "message": "Invalid Character" }
-
-
- Method: POST
-
End-Point: /sendFeedback
- Method: POST
-
Description: Kirim Feedback ke Channel Discord
-
Request Payload
{ "text": "Isi pesan disini", "ipv4": "ip", "deviceInfo": "device" }
-
Response Data
-
Status: OK
{ "statusCode": 200, "resCode": "sendFeedback-OK", "description": "OK" }
-
Status: ERROR
{ "statusCode": 405, "resCode": "sendFeedback-invalid-1", "description": "Text not valid" }
{ "statusCode": 405, "resCode": "sendFeedback-invalid-2", "message": "IPv4 not valid" }
{ "statusCode": 405, "resCode": "sendFeedback-invalid-3", "message": "Device Info not valid" }
-
-
- Method: POST
-
-
Image Manipulation
- Description: Memanipulasi text yang akan dipost ke instagram menjadi image
- Language: JavaScript (NodeJS)
- NPM: jimp
-
Instagram Content Automation
- Description: Untuk mengelola content yang akan ditampilkan pada Instagram
- Language JavaScript (NodeJS)
- NPM: instagram-web-api
-
Twitter Content Automation
- Description: Untuk mengelola content yang akan ditampilkan pada Twitter
- Language JavaScript (NodeJS)
- NPM: twitter-api-v2
-
Server Requirements: -
-
Domain: -
- Mik
- Back-End (Lead)
- Image Manipulation
- Instagram & Twitter Automation
- Database Setup
- API Endpoint & Parameter
- Back-End (Lead)
- Zka
- Front-End (Lead)
- Landing Page
- Message Page
- Credits Page
- Front-End (Lead)
- Vno
- Front-End
- Landing Page
- Front-End
- Ryu
- UI/UX (Lead)
- Logo
- Template Feed Instagram
- Landing Page
- Message Page
- Credits Page
- UI/UX (Lead)
- Mal
- UI/UX
- Logo
- Template Feed Instagram
- Landing Page
- Message Page
- Credits Page
- UI/UX
- Dyl
- Front-End
- Credits Page
- Front-End
- Lim
- Back-End
- Database Setup
- API Endpoint & Parameter
- Back-End