Skip to content

eduardo3g/twitter

Repository files navigation

Twitter logo

Twitter

Social network developed with some cool Serverless stuff ☁️

Author Languages Stars

📚 Introduction

This project was built following the architecture and patterns of production-ready Serverless applications. It simulates the back-end of Twitter, featuring the main functionalities of the application.

The entire application was built using Cloud-Native services provided by AWS.

👨🏽‍🔧 Tech stack

  • 🏡 AWS AppSync - provides a robust, scalable GraphQL interface for application developers to combine data from multiple sources, including Amazon DynamoDB, AWS Lambda, and HTTP REST APIs.
  • 👷🏻 AWS Lambda - serverless compute service that lets you run code without provisioning or managing servers, creating workload-aware cluster scaling logic, maintaining event integrations, or managing runtimes.
  • 🗃️ AWS DynamoDB - fully managed NoSQL database service that provides fast and predictable performance with seamless scalability.
  • 👮🏻 AWS Cognito - provides authentication, authorization, and user management for your web and mobile apps.
  • 🍃 Serverless Framework - framework that speeds up the development of Serverless cloud-native applications.
  • 🚒 Kinesis Firehose - is an extract, transform, and load (ETL) service that reliably captures, transforms, and delivers streaming data to data lakes, data stores, and analytics services.
  • 🔍 Algolia - search-as-a-service platform similar to Elasticsearch.

🖥️ Features

  • User registration
  • Sign in
  • Sign out
  • Get user profile
  • Edit my profile
  • Upload media to AWS S3
  • View timelines
  • Post tweets
  • Reply to tweets
  • Retweet
  • Like
  • Create hashtags
  • Follow users
  • Unfollow users
  • Search for users
  • Search for tweets
  • Send direct messages
  • Receive real-time notifications

Sounds fun, right? 🤟

🐞 Issues

Feel free to create a new issue with an detailed title and description. If you already have a solution to fix the problem, I would be very happy to review your pull request.

🎉 Contributing

I'm highly opened to contributions and would love to review pull requests to make this project even better.