https://github.com/allankoder/dont-read-me
A Basic Blogging Site With Security in Mind
https://github.com/allankoder/dont-read-me
Last synced: over 1 year ago
JSON representation
A Basic Blogging Site With Security in Mind
- Host: GitHub
- URL: https://github.com/allankoder/dont-read-me
- Owner: AllanKoder
- Created: 2024-12-25T17:10:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-12T04:24:56.000Z (over 1 year ago)
- Last Synced: 2025-02-12T05:31:24.364Z (over 1 year ago)
- Language: C++
- Homepage:
- Size: 2.03 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DONT README
DON'T README is a pretty average and boring blogging site, your usual stuff. But, it was a nice chance to explore what goes into making a web framework, and the security aspects as well.
## Features
- Creating blogs
- Searching for blogs with HTMX
- Editting blogs
- Creating users as Admin Only
- Highly secure Auth Tokens
- Login with MFA2 (Email, and Authentication App)
- CSRF protection
- Sliding expiration session
## High-level Blog Architecture
```mermaid
flowchart TD
A["User
(A user of the application
who can create and
manage blog posts)"] -->|Uses| B["Web Server
(Handles HTTP requests
and serves static
content)"]
C["Admin
(An administrator who can
manage users
and blog posts)"] -->|Uses| B
B -->|Forwards requests to| D["CGI Application
(Processes business logic)"]
D -->|Reads from and writes to| E["Database
(Stores user
and blog data)"]
D -->|Uses cryptography functions| F["Cryptography Library
(Performs Cryptographic
Functions)"]
D -->|Sends notifications to| G["Email Service
(Handles email
notifications for user
actions)"]
```
## Used Libraries
- CryptoPP
- https://github.com/weidai11/cryptopp
- Libcurl
- sudo apt-get install libcurl4-openssl-dev
- Maria DB
- https://mariadb.com/docs/server/connect/programming-languages/cpp/install/