Skip to content

🌐 - Tweeter Backend - 🌐 - This API is a backend of the a social network (Tweeter) with authentication flux, interact with tweets, user and comment.

Notifications You must be signed in to change notification settings

Wesley-wsl/Tweeter-backend

Repository files navigation

🌐 - Tweeter Backend - 🌐

Demo πŸ“Έ


Application deploy with Railway and documented with Swagger: πŸ’¨

https://tweeter-backend.up.railway.app/docs/

πŸ“– About the Project

Tweeter-API - This API is a backend of the a social network (Tweeter) with authentication flux, interact with tweets, user and comment. This was make with TypeScript how language programming, PostgreSQL how database, typeORM how ORM and Jest to unitary/integration tests.

πŸ“— Features

Feature Coded? Description
SignIn. βœ” Ability to signIn in application.
Create User. βœ” Ability to create a account.
Show all users. βœ” Ability to show all users.
Show user by id. βœ” Ability to show a user by id.
Show followings. βœ” Ability to show all followings from a user.
Show followers. βœ” Ability to show all followers from a user.
Show bookmarks. βœ” Ability to show bookmarks from a user.
Show who follow. βœ” Ability to recommend users to follow.
Edit informations and image about user. βœ” Ability to edit informations and images about user.
Following a user. βœ” Ability to follow a user.
Unfollow a user. βœ” Ability to unfollow a user.
Create a tweet with image. (optional) βœ” Ability to create a image with or no image.
Show all tweets. βœ” Ability to show all tweets.
Show tweets by user. βœ” Ability to show tweets by user.
Show tweets private only if follow this user. βœ” Ability to show tweets private only if follow this user.
Show trends for you. βœ” Ability to show main trends.
Save tweet how bookmark. βœ” Ability to save a tweet how bookmark.
Remove tweet from bookmark. βœ” Ability to remove a tweet from bookmark.
Like a tweet. βœ” Ability to like a tweet.
Remove like from tweet. βœ” Ability to remove a like from tweet.
Delete tweet. βœ” Ability to delete tweet.
Create a comment for a tweet with image. (optional) βœ” Ability to create a comment for a tweet with or no image.
Like a comment. βœ” Ability to like a comment.
Remove like from comment. βœ” Ability to remove like from comment.
Delete comment. βœ” Ability to delete a comment.

πŸ›  Technologies

  • Typescript
  • Node.js
  • Express.js
  • TypeORM
  • PostgreSQL
  • Multer
  • Celebrate
  • Cloudinary
  • Jest
  • ts-node-dev
  • Bcryptjs
  • JWT
  • Swagger
  • Docker
  • EditorConfig
  • Prettier
  • Eslint
  • πŸ’» How to run the application

    Pre-requisites:

    You must have the tools installed: Git, Node.js. And create a new file called: .env, that follow .env.example credentials example.

    You also have to create a database with PostgreSQL in your machine and put URI in .env or only use the docker to run database with command docker-compose up in this directory in terminal (for it you must have docker and docker-compose installed) and put your database uri in the file .env Besides another credentials required informed in file.

    DATABASE_URI to docker-compose: postgresql://postgres:admin@localhost:8080/tweeter

    # In the terminal, clone the project:
    $ git clone https://github.com/Wesley-wsl/Tweeter-backend.git
    
    # Enter the project folder:
    $ cd Tweeter-backend
    
    # Install dependencies:
    $ yarn
    or
    $ npm install
    
    # Run migrations
    $ yarn typeorm migration:run -d src/api/database/index.ts
    
    # Run the application:
    $ yarn dev
    or
    $ npm run dev
    

    Okay, now you can access the application from the route: https://localhost:3333/api/v1/docs

    πŸ§ͺ Alright, but and the tests ?

    This application was highly tested with unitary/integration tests using jest to get 100% coveraged. To run the tests you need only execute yarn test:coverage in the terminal in this directory.

    Then is this... Thank you for stay and Enjoy. :-)

    About

    🌐 - Tweeter Backend - 🌐 - This API is a backend of the a social network (Tweeter) with authentication flux, interact with tweets, user and comment.

    Topics

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published