Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kosyachniy/web

Template Full Stack application
https://github.com/kosyachniy/web

api docker fullstack javascript nginx python template webapp

Last synced: about 9 hours ago
JSON representation

Template Full Stack application

Awesome Lists containing this project

README

        

# Template full stack application
[![.github/workflows/deploy.yml](https://github.com/kosyachniy/web/actions/workflows/deploy.yml/badge.svg)](https://github.com/kosyachniy/web/actions/workflows/deploy.yml)

## Description
Web-app on JS with Python JSON-RPC API

Form | Side | Stack | Language | Path
---|---|---|---|---
API | Back-end | FastAPI | Python | ``` api/ ```
Web app | Front-end | React | JavaScript | ``` web/ ```
Telegram bot | Back-end | AIOGram | Python | ``` tg/ ```
iOS | Front-end | React Native | JavaScript | planned
Android | Front-end | React Native | JavaScript | planned

### Stack



Side
Logo
Technology
Version




DevOps
Docker
Docker
20.10.21


NGINX
NGINX
1.23


Let's Encrypt
Let's Encrypt



Grafana
Grafana
9.2.5


Prometheus

2.40.1


Back-end
Python
Python
3.10


FastAPI
FastAPI
0.87


MongoDB
MongoDB
6.0


Redis
Redis
7.0


Socket.IO
Socket.IO



Front-end
JavaScript

node 19.1


ReactJS
ReactJS
18.2



Next.js
13.0.3


Redux
Redux
4.2


Bootstrap
Bootstrap
5.2.1


CKEditor
CKEditor
5

## Run
[Before starting, you can learn how to configure the server →](https://github.com/kosyachniy/dev/blob/main/server/SERVER.md)



local
prod





1. Configure .env from base.env and add:


# Type
# LOCAL / TEST / DEV / PRE / PROD
MODE=LOCAL

\# Links
PROTOCOL=http
EXTERNAL_HOST=localhost
EXTERNAL_PORT=80
DATA_PATH=./data




1. Configure .env from base.env and add:

\# Type
\# LOCAL / TEST / DEV / PRE / PROD
MODE=PROD

\# Links
PROTOCOL=https
EXTERNAL_HOST=web.kosyachniy.com
WEB_PORT=8201
API_PORT=8202
JOBS_PORT=8203
TG_PORT=8204
DB_PORT=8205
REDIS_PORT=8206
PROMETHEUS_PORT=8207
GRAFANA_PORT=8208
DATA_PATH=~/web/data # or change to global path, for example: ~/data/web






2. make dev


2. make run




3. Open ` http://localhost/ `


3. Open ` https://web.kosyachniy.com/ ` (your link)