Skip to main content

Social Media Activity Feed API

A high-performance RESTful API built with ASP.NET Core for modeling social graphs, generating scalable follower feeds, and supporting common interaction primitives.

JWT Authentication
Cursor-based Pagination
Social Graph Operations
Post Interactions
Activity Feeds

Quick start

Get your API up and running in minutes

1

Clone and configure

Clone the repository and set up your JWT configuration:
git clone https://github.com/0xfelaback/Social-Media-Activity-Feed.git
cd Social-Media-Activity-Feed
dotnet user-secrets set "Jwt:Issuer" "your-issuer"
dotnet user-secrets set "Jwt:Key" "your-secret-key-here"
2

Set up the database

Run EF Core migrations to create your SQLite database:
dotnet ef database update
The API uses SQLite for local development. For production, consider migrating to PostgreSQL.
3

Start the API

Launch the API server:
dotnet run
Your API will be available at http://localhost:5000 (or the port specified in your launch settings).
4

Make your first request

Register a new user account:
cURL
curl -X POST http://localhost:5000/api/register \
  -H "Content-Type: application/json" \
  -d '{
    "userName": "johndoe",
    "firstName": "John",
    "lastName": "Doe",
    "passwordHash": "SecurePassword123!",
    "email": "john@example.com",
    "phoneNumber": "+1234567890"
  }'
HTTP/1.1 201 Created
Location: /api/users/1

Explore by topic

Jump into the documentation for your use case

Authentication

Learn about JWT-based authentication and securing your API endpoints

Social Graph

Build follow relationships, block users, and manage close friends lists

Activity Feeds

Generate scalable follower feeds with cursor-based pagination

Post Interactions

Enable likes, comments, saves, and other engagement features

Database Design

Understand the schema, indexing strategy, and composite keys

API Reference

Explore all available endpoints with request/response examples

Key features

Built for performance and scalability

Minimal API Architecture

Feature-module organization with endpoints grouped by domain for clean, maintainable code

Composite Primary Keys

Database-level data integrity for relationships, preventing duplicates without application logic

Cursor-based Pagination

Stable performance at scale with keyset pagination that avoids expensive offset queries

N+1 Query Prevention

Projection and selective loading patterns keep database round-trips predictable and efficient

Ready to build?

Start building social features with our comprehensive API. Follow the quickstart guide to get up and running in minutes.

Get Started Now