All Projects → Dengjianping → Actix-Blog

Dengjianping / Actix-Blog

Licence: other
A personal blog powered by rust-lang and actix-web

Programming Languages

rust
11053 projects
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to Actix-Blog

Webapp.rs
A web application completely written in Rust. 🌍
Stars: ✭ 1,888 (+4395.24%)
Mutual labels:  diesel, actix-web
partner
partner
Stars: ✭ 16 (-61.9%)
Mutual labels:  diesel, actix-web
rust cms
使用Rust编写一个CMS(内容管理系统)可以做为个人博客,公司网站
Stars: ✭ 32 (-23.81%)
Mutual labels:  diesel, actix-web
editor.sh
Yet another live programming environment for collaborative code editing and running.
Stars: ✭ 29 (-30.95%)
Mutual labels:  diesel, actix-web
crate-trends
🦀Visualize Rust Package: Crates comparison website
Stars: ✭ 14 (-66.67%)
Mutual labels:  actix-web
ifconfig.top
Source code of ifconfig.top website
Stars: ✭ 19 (-54.76%)
Mutual labels:  actix-web
actix-governor
A middleware for actix-web that provides rate-limiting backed by governor.
Stars: ✭ 47 (+11.9%)
Mutual labels:  actix-web
ume
🐻‍❄️💐 Easy, and flexible image host to share with your friends on Discord, Telegram, and more.
Stars: ✭ 28 (-33.33%)
Mutual labels:  actix-web
FullstackRustDemo
Novelty website + bucket questions implementation.
Stars: ✭ 40 (-4.76%)
Mutual labels:  diesel
crates-io-cn
Source code of crates-io.cn, also tools sets for sync crates.io
Stars: ✭ 20 (-52.38%)
Mutual labels:  actix-web
Examples
Community showcase and examples of Actix ecosystem usage.
Stars: ✭ 2,090 (+4876.19%)
Mutual labels:  actix-web
Actix Web
Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
Stars: ✭ 12,723 (+30192.86%)
Mutual labels:  actix-web
actix-web-grants
Authorization extension for actix-web to validate user permissions
Stars: ✭ 85 (+102.38%)
Mutual labels:  actix-web
kibou
Kibou is a lightweight federated social networking server written in Rust. This is only a mirror! The real repository is on https://git.cybre.club/kibouproject/kibou
Stars: ✭ 41 (-2.38%)
Mutual labels:  diesel
rust-api
A sample REST API in Rust, using Docker, Iron, Diesel and Postgres
Stars: ✭ 18 (-57.14%)
Mutual labels:  diesel
dalted
Image processing web-app for color blindness
Stars: ✭ 17 (-59.52%)
Mutual labels:  actix-web
actix-swagger
Swagger code generator for actix-web framework
Stars: ✭ 58 (+38.1%)
Mutual labels:  actix-web
dagpi
Dagpi is a powerful and fast api that does image manipulation as well as serves datasets. It is fast and written in rust and python. Perfect for discord bots, social media apps, camera apps and more.
Stars: ✭ 25 (-40.48%)
Mutual labels:  actix-web
actix-tensorflow-example
An example of using TensorFlow rust bindings to serve trained machine learning models via Actix Web
Stars: ✭ 40 (-4.76%)
Mutual labels:  actix-web
Plume
Federated blogging application, thanks to ActivityPub (now on https://git.joinplu.me/ — this is just a mirror)
Stars: ✭ 1,615 (+3745.24%)
Mutual labels:  diesel

Build Status

About this project

There're two branches, the master uses actix-web 2.0, branch v1.0 uses actix-web 1.x, branch v0.7 uses actix-web 0.7.x.

BTW, I'm literally not that good at front-end.

Thanks to these resources

  • Front-End

  1. I abandoned bootstrap to build the front-end, written it from zero, but still kind of ugly.
  2. Showdown for rendering markdown.
  3. Jquery
  4. Js.cookie(for cookies handling)
  • Back-End

  1. The blazingly fast asynchronous web framework based on Rust: actix-web
  2. Database ORM based on Rust as well: diesel
  3. HTML template engine(rust based): tera

Requirements

  1. Better use stable rust. (2018 edition, though travis compiles the project on nightly and beta one)
  2. Postgresql. (11.x, I didn't try on 9.x or 10.x)

Deployment(rust, postgresql and diesel_cli already installed)

  1. Download the repo
git clone https://github.com/Dengjianping/Actix-Blog.git
  1. Create a database in postgresql, remember the name for next operation.
  2. Modify the .env file, add following configuration.
DATABASE_URL=postgres://[your_name]:[passowrd]@localhost/[database_name]
  1. Install diesel_cli with the following command.
cargo install diesel_cli --no-default-features --features "postgres"
  1. Create these related tables, make sure 4 tables created and named comments/contacts/posts/users in database.
cd actix_blog
# migration, 
diesel migration setup
  1. Configure the project. There's a actix_blog.toml file in root folder, give the actual values to it.
  2. Build the project.
cargo run --release

How to tun test

  1. Modify database url for testing in file .env.
TEST_DATABASE_URL=postgres://[your_name]:[passowrd]@localhost/[database_name]
  1. Migration. The following command will generate all tables the project needs.
diesel --database-url postgres://[your_name]:[passowrd]@localhost/[database_name] migration run
  1. Run test.
cargo test

Tips: All test cases are under src/test.

Glance

main page admin page admin page

Features

  • Sign-in/out
  • Password resetting
  • Register
  • Comment system(ajax)
  • Use likes(ajax)
  • Category
  • Search
  • Basic admin privileges
  • Markdown supporting.
  • HTTP2(s) Support(not default)
    • If you really want to experience http2, use the example ssl keys or follow this English or 中文 to create certifications, put the generated keys to folder "ssl_keys", rename both keys with the same name as the example's. And Compile the project with this following command.
    cargo run --release --features "http2"
    
    • Visit the site.
    https://your_address:port_num/
    

Future

  • Redis.
  • Dockerfile.
  • OAuth. Allow 3rd-party user log-in, like webchat/github/google/apple... .
  • The webUI may be rewritten by webassembly(I did some research, several webassembly frameworks is available now
  • ...
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].