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
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!
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.
package name | version |
---|---|
libssl-dev | ^1.0 |
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.
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"