Skip to content

ursapictura/Rare-BE

Repository files navigation

Rare Publishing 💻

Technologies Getting Started API Endpoints Collaborators

A full-stack application that allows users to post their original written content, discover content from other users, follow their favorite content creators, and comment on posted content.

User's have full CRUD capabilities on their own content, so previously published content can be revised or removed by the original content creator.

Check out the client-side repo!

💻 Technologies

  • C#
  • .NET
  • pgAdmin
  • Swagger
  • GitHub
  • Visual Studio

🚀 Getting started

TO run this server-side of this project, you will need to clone this repo and have access to Visual Studio, .NET, and pgAdmin.

Prerequisites

Here you list all prerequisites necessary for running your project. For example:

The client-side portion of this application isn't necessary if you plan to build your own front-end. If you choose to use the frontend we've designed, you'll need to clone it from here.

Cloning

How to clone your project

git clone your-project-url-in-github

Starting

How to start your project

cd project-name

npm install

npm i --save react-select

dotnet new gitignore

dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL --version 6.0

dotnet add package Microsoft.EntityFrameworkCore.Design --version 6.0

dotnet user-secrets init

dotnet user-secrets set "RareDbConnectionString" "Host=localhost;Port=5432;Username=postgres;Password=<your_postgresql_password>;Database=Rare-BE"

📍 API Endpoints

Here you can list the main routes of your API, and what are their expected request bodies. ​

route description
GET /checkuser/{uid} checks for user authentication using Firebase
GET /users/{userId} retrieves specific user's information
POST /users creates a new user
GET posts retrieves all posts
GET /posts/{postId} retrieves specific post
POST /posts creates a new post
PUT /posts/{postId} change information in specific post
DELETE /posts/{postId} removes a specific post from the database
GET /posts/search search for posts by title, author, content, and category
GET /posts/categories/{categoryId} retrieves all posts from the specific category
GET /categories retrieves list of post categories
GET /tags retrieves list of post tags
POST /tags creates a new tag
POST /posts/{postId}/add-tag/{tagId} adds a specific tag to a specific post
DELETE /posts/{postId}/remove-tag/{tagId} removes a specific tag from a specific post
GET /subscription/{userId} retrieves all of a user's active subscriptions and posts from those subscribed authors
GET /subscription/{userId}/{authorId} allows a user to subscribe to an author
PATCH /subscription/{userId}/end/{authorId} ends a user's subscription to an author
GET /subscription/{userId}/{authorId} checks if a user is actively subscribed to an author
POST /comments create a new comment on a specific post
DELETE /comments/{commentId} allows a user to delete one of their comments from a specific post

🤝 Collaborators

Special thank you for all people that contributed to this project.

Haley Smith Profile Picture
Haley Smith
Alex Berka Profile Picture
Alex Berka
Yarelis Martin Profile Picture
Yarelis Martin
Jesse French Profile Picture
Jesse French

📝 Helpful Documentation

Client-Side UI for this project

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages