All Projects → satellity → Satellity

satellity / Satellity

Licence: mit
Yet another open source forum written in Golang, React and PostgreSQL.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Satellity

Evolutility Server Node
Model-driven REST or GraphQL backend for CRUD and more, written in Javascript, using Node.js, Express, and PostgreSQL.
Stars: ✭ 84 (-81.54%)
Mutual labels:  restful-api, postgres
superhighway84
USENET-inspired, uncensorable, decentralized internet discussion system running on IPFS & OrbitDB
Stars: ✭ 437 (-3.96%)
Mutual labels:  community, forum
Bricks
A standard library for microservices.
Stars: ✭ 142 (-68.79%)
Mutual labels:  restful-api, postgres
Rust lang cn
China Community for Rust lang
Stars: ✭ 176 (-61.32%)
Mutual labels:  forum, community
dillo
Free and open web platform created to support crowd-driven content.
Stars: ✭ 62 (-86.37%)
Mutual labels:  community, forum
Symphony
🎶 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台。
Stars: ✭ 13,080 (+2774.73%)
Mutual labels:  forum, community
NanoSoft
A forum system built using plain php dedicated for C#.NET Developers
Stars: ✭ 20 (-95.6%)
Mutual labels:  community, forum
Genesis
开发者社区,论坛(Spring+Spring MVC+MyBatis )
Stars: ✭ 138 (-69.67%)
Mutual labels:  forum, community
mathesar
Web application providing an intuitive user experience to databases.
Stars: ✭ 95 (-79.12%)
Mutual labels:  postgres, restful-api
Database-Web-API
Dynamically generate RESTful APIs from the contents of a database table. Provides JSON, XML, and HTML. Supports most popular databases
Stars: ✭ 37 (-91.87%)
Mutual labels:  postgres, restful-api
Yii2 Podium
Yii 2 forum module project
Stars: ✭ 172 (-62.2%)
Mutual labels:  forum, community
Spotweb
Decentralized community
Stars: ✭ 341 (-25.05%)
Mutual labels:  forum, community
Nodebb
Node.js based forum software built for the modern web
Stars: ✭ 12,303 (+2603.96%)
Mutual labels:  forum, community
Phpdish
🏠 PHPDish is a powerful forum system written in PHP. It is based on the Symfony PHP Framework.
Stars: ✭ 225 (-50.55%)
Mutual labels:  forum, community
Popforums
A forum application running on ASP.NET Core, available in six languages.
Stars: ✭ 145 (-68.13%)
Mutual labels:  forum, community
Node Express Postgresql Sequelize
Node.js, Express.js, Sequelize.js and PostgreSQL RESTful API
Stars: ✭ 148 (-67.47%)
Mutual labels:  restful-api, postgres
Starfire
🌟 一个分布式的内容分享讨论社区,星星之火可以燎原。
Stars: ✭ 130 (-71.43%)
Mutual labels:  forum, community
Gosora
Gosora is an ultra-fast and secure forum software written in Go that balances usability with functionality.
Stars: ✭ 131 (-71.21%)
Mutual labels:  forum, community
rocket-rest-api-with-jwt
A Rusty Rocket fuelled with Diesel and secured by JWT
Stars: ✭ 62 (-86.37%)
Mutual labels:  postgres, restful-api
Homeland
🎪 An open source forum/community system based on Rails, developed based on Ruby China.
Stars: ✭ 3,511 (+671.65%)
Mutual labels:  forum, community

Satellity

Satellity is a 100% open source forum, written in Go. Please visit https://routinost.com for more details. For feedback, you can submit issues or join our slack(https://bit.ly/31b6xeX), Let's learn Go together!

How to deployment

  1. A VPS, I'm using Digital Ocean right now, and you can use any other VPS like GCP, AWS. You'll get some credit from the link, and it depends on you.
  2. Install Nginx sudo apt install nginx -y, here is an example config of nginx https://github.com/satellity/satellity/blob/master/deploy/nginx_example.conf , I'm using Ubuntu 20.04 LTS
  3. Install Postgresql sudo apt install postgresql -y, how to install PostgreSQL On Ubuntu, after create the database, you need import the database schema https://github.com/satellity/satellity/blob/master/internal/models/schema.sql
  4. Deploy the api server and web, you can find the shell script here: https://github.com/satellity/satellity/tree/master/deploy
  5. Use systemd to manage http server, here is the service template https://github.com/satellity/satellity/blob/master/deploy/systemd/satellity-http.service, and you can find the basic commands here
  6. Lets Encrypt, here is a step by step tutorial, https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-20-04
  7. Then you can visit you website after restart nginx

Some people want to know why not use docker? The most direct reason is that I don't know docker and didn't take time on it. And a shell script is enough for me right now.

Features

  1. REST API back-end written in Golang
  2. React-based frontend
  3. PostgreSQL, one of the best open source, flexible database
  4. Social login (OAuth 2.0) only support Github now
  5. JSON Web Tokens (JWT) are used for user authentication in the API
  6. Markdown supported topic and comment
  7. Model tested

Built With

  1. go version go1.15 darwin/amd64
  2. postgres (PostgreSQL) 12.3
  3. react ^16.13.1

Structure

  1. ./ is back-end service, we followed golang-standards project-layout.
  2. ./app is front-end service, contains React, Parcel and etc.
  3. ./deploy contains example of deploy, nginx and systemd.

Screenshot

Satellity

Getting Started

Backend

  1. cd ./internal, copy config/config.example to config/config.yaml. Replace config with yours.
  2. Prepare and start database, the database schema under ./internal/models/schema.sql, how to install postgresql.
  3. cd ./ && go build && ./satellity to start Golang server

Frontend

  1. Copy env.example to .env, and replace Satellity with your project name.

    SITE_NAME=your site name
    
  2. run yarn install, then yarn start. It's running now.

Contribution

When contributing to this repository, please reach out to @jadeydi or other contributors via email, issue or any other means to discuss the changes you wish to make.

You can also just clone the repository, create a new branch of the feature or issue and make adequate changes then push and create a pull-request and request a review from other contributors.

License

https://opensource.org/licenses/MIT

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].