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"