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!
- C#
- .NET
- pgAdmin
- Swagger
- GitHub
- Visual Studio
TO run this server-side of this project, you will need to clone this repo and have access to Visual Studio, .NET, and pgAdmin.
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.
How to clone your project
git clone your-project-url-in-github
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"
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 |
Special thank you for all people that contributed to this project.
Haley Smith |
Alex Berka |
Yarelis Martin |
Jesse French |