||2 months ago|
|endpoints||2 months ago|
|orm||2 months ago|
|responses||2 months ago|
|templates/email||2 months ago|
|util||2 months ago|
|.gitignore||2 months ago|
|API.md||2 months ago|
|LICENSE||2 months ago|
|README.md||2 months ago|
|config.py.example||2 months ago|
|main.py||2 months ago|
|piccolo_conf.py.example||2 months ago|
|requirements.txt||2 months ago|
An advanced REST API written in Python for a generic social media website.
Note: This is a WIP so far.
Note: Not all of this is implemented yet
- Simple authentication system using salted bcrypt hashes for password storage
- Integrated email system with verification support (optional)
- Integrated database using PostgreSQL as a backend
- Simple rate limiting using redis/in-memory storage
- Support for various kinds of media stored in a CDN, directly inside the database or on a local/remote filesystem
- Regular social media mechanics: (Un)following users, posting media with captions, stories, etc.
- User settings (change username, email, bio, password, profile picture, etc.)
- Simple messaging system using websockets or a polling HTTP API
- Admin functionality with basic metrics and administration features (flagging/deleting users/posts, handling tickets, etc.)
Note: For security reasons, password and email changes require an email confirmation. Changing the email also forces the user to verify the new address again.
Move the *.py.example files to their respective *.py files, fill them as necessary, then simply install the dependencies via pip and run main.py
This software is licensed under the MIT license. For more information, read the license file