Coder Social home page Coder Social logo

meow-mingle's Introduction

Twitter-like Social Media API

Technology Stack

  • Code written in Groovy
  • Spring Boot framework
  • MongoDB database
  • Reddis as queue for asynchronous operations
  • Gradle build system
  • Testing with Spock
  • Docker for containerization

Project Description

This project aims to create a Twitter-like API where users can perform various actions including user registration, login, logout, posting tweets, viewing their timeline, viewing other users' timelines, commenting on tweets, liking/unliking tweets, and following/unfollowing other users.

API Endpoints

  • Create User
  • Edit User
  • Delete User
  • Create Tweet
  • Edit Tweet
  • Delete Tweet
  • Like/Unlike a Tweet
  • Follow another User (Following a user will show their tweets in your timeline)
  • Unfollow another User
  • Comment on a Tweet
  • Get User's Timeline (including likes and comments)
  • Get Other User's Timeline
  • Get Comments for a Tweet
You can test all endpoints with OpenAPI-UI

How to Use

  • User Registration: Users can create an account with the system.
  • User Management: Users can edit their profile information and delete their account.
  • Tweeting: Users can create, edit, and delete their tweets.
  • Interactions: Users can like/unlike tweets, follow/unfollow other users, and comment on tweets.
  • Timeline: Users can view their own timeline (tweets from users they follow) and the timeline of other users.
  • Comments: Users can view comments on tweets.

Testing

All functionality in this API is thoroughly tested using Spock tests. You can run the tests to verify the correctness of the implementation.

Deployment

You just need to download docker-compose-full-image.yml an run:

	docker compose -f docker-compose-full-image.yml up 

Image is hosted in Github regidtry.

meow-mingle's People

Contributors

malyshevhen avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.