mohammad-taheri1 / minimalgram-v2-fullstack

This Fullstack projects is going to be a social media application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Minimalgram V2.0.0

GitHub last commit GitHub Repo stars

Hello. This is an open-source project. This projects is consisted of :

  • Nest.js
  • React
  • PostgreSQL
  • Prisma

Some key feautures in this project :

  • Authentication && Authorization && JWT
  • Database management && CRUD && ORM: PostgreSQL && Prisma
  • RESTful APIs
  • Media Management : CRUD user posts with an image && a caption
  • Swagger
  • Error handling
  • CORS handling

What you can do in this project ?

As a normal user:

  • see all posts on first page
  • search posts by category
  • see users profile

As a registered user:

  • publish a post
  • temporarily/permanently unpublish a post changePublishStatus Fn

As an Admin

  • get overall reports of application
  • create a new category
  • active/deactive a user
  • activate/deactivate a post

Project Structure :

Backend (API-based Microservice)

The backend of this project is consisted of micro-services.

# Name Framework DB ORM Broker
1 Core NestJs PostgreSQL Prisma RabitMQ
2 Logger NestJs MongoDB Mongoose RabitMQ

key feautures in more details:

  • brach main is locked. so it only accepts pull request
  • Guset can see public posts withouth any authentication
  • Guest can see user profile with user's posts and public informations
  • UserType can be ADMIN or USER
  • Guest can signup
  • User can login and logout
  • User can see him/her profile with it's private informations
  • User can create new post
  • User can edit and delete only his/her posts (check by userID)
  • Admin can create categories
  • Admin can switch user isActive field between true and false in any time

About

This Fullstack projects is going to be a social media application


Languages

Language:TypeScript 92.6%Language:HTML 3.2%Language:JavaScript 2.5%Language:Shell 1.5%Language:CSS 0.3%