Hraesvel / ideaDog_server

API source code for the ideadog project.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IdeaDog Server Build status

Articles 📰

Here's a great article writen by my partner Brennan D Baraban that gives an overview of the project.

Introducing IdeaDog — A [Statically-Typed] Social Ideas Platform

Description 💡

Currently the back-end and front-end of IdeaDog live in seperate repos, to reduce project clutter.

IdeaDog is a social web application for sharing ideas. We've all had those sudden bursts of inspiration where we go - "wow, that is simply a great idea" - but know we will never follow up. Now, instead of losing those ideas, share them with the world!

Why statically-typed, you ask? Well, the front-end of the application is built in React, with TypeScript, while the back-end runs on Rust. TypeScript + Rust = The Ultimate Statically-Typed Web App!

Development of IdeaDog has only just begun. Stay tuned, there is much, much, much more to come!

Usage

Server environment must be set To compile and run Idea:dog: Server (in release), just run the the command below.

# from root folder.
cargo run --release --package=ideadog-server

Or alternativly you can goto the release page to get pre-/RC binaray.

Required dep *nix

package name version
libssl-dev ^1.0

Dependencies 👫

Back-End:

Tool/Library Version
Rust 1.35
Actix 0.7
ArangoDB ^3.4

View the complete list of back-end dependencies in the corresponding Carog.toml.

Front-End: Source

Tool/Library Version
TypeScript ^3.5.1
React ^16.8.6
Material UI ^4.0.2
Navi ^0.12.7
@dwqs/react-virtual-list ^1.0.0
clipboard-copy ^3.0.0

View the complete list of front-end dependencies in the corresponding package.json.

ENV

The easyiest way to set the enviorment for this project/server is to use a .env

# API Server
HOST=0.0.0.0
PORT=5000

# Database
DB_NAME="test_db"
DB_ACCOUNT="test_account"
DB_PASSWORD="test"
DB_HOST="localhost"
DB_PORT=8529

# Threads
ARBITER_THREAD=1
WORKER=2

# Auth
APPROVEAPI_TEST_KEY='Aquire one from [approveAPI.com]'
APPROVEAPI_LIVE_KEY='Aquire one from [approveAPI.com]'
REDIRECT_URL="https://ideaDog.site"

About

API source code for the ideadog project.

License:MIT License


Languages

Language:Rust 98.9%Language:PowerShell 1.1%