Skip to content

Latest commit

 

History

History
53 lines (48 loc) · 1.5 KB

README.md

File metadata and controls

53 lines (48 loc) · 1.5 KB

tsuki-chan

Y Server

Y is a simplified, open source clone of X. It is written in pure Rust and is yet another project I use to level up my Rust skills. This repo stores the code of the Y server, which is separate from the client app. The client has not started being developed yet. When it does, I will include the link here.

Building and running

Prerequisites:

  • Rust toolchain
  • PostgreSQL
  • Git
git clone https://github.com/Javatrix/y-server
cd y-server

Database setup scripts are not yet available, so you need to set it up manually. To do so, enter the PostgreSQL prompt and paste in these commands:

CREATE DATABASE y_db;

Quit with \q, and run psql y_db to enter the database. Next, setup the admin account:

CREATE USER y_admin;
GRANT USAGE ON SCHEMA public TO y_admin;
GRANT CREATE ON SCHEMA public TO y_admin;
ALTER USER y_admin WITH PASSWORD 'just_an_x_clone';

This should prepare the database for the automated setup. Back in the root project directory run

cargo install sqlx-cli
cargo sqlx migrate run

to generate the required tables for the database. And then, as with any other Rust project:

cargo run

Roadmap

  • Containerization
  • Searching posts and users, tags
  • A basic feed
  • User pages
  • Images in posts
  • Post editing/removing
  • Post creation
  • Timed login session
  • User registration