Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/kosyachniy/test


https://github.com/kosyachniy/test

Last synced: about 9 hours ago
JSON representation

Awesome Lists containing this project

README

        

# Template full stack application
[![Build Status](https://app.travis-ci.com/kosyachniy/test.svg?token=Y2sWDT2XzsY16XJ141Qp&branch=test1)](https://app.travis-ci.com/kosyachniy/test)

## 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.8


NGINX
NGINX
1.19.6


Let's Encrypt
Let's Encrypt



Back-end
Python
Python
3.9.1


FastAPI
FastAPI
0.63.0


MongoDB
MongoDB
4.4.2


Socket.IO
Socket.IO



Front-end
JavaScript

node 15.5.1


ReactJS
ReactJS
16.14.0


Redux
Redux
4.0.5


Bootstrap
Bootstrap
4.1.3


CKEditor
CKEditor
5

## Install & Use with Docker
### Development
1. Customize file ` docker/.env ` & ` Makefile `

2. Run
```
make run
```

3. Open

Go to ` http://localhost/ `

### Production (dedicated server)
1. Customize file ` docker/.env ` & ` Makefile `

2. Create encryption keys
```
cd docker/
chmod 777 cert.sh
./cert.sh
```

3. Run Docker Compose
```
docker-compose -f docker-compose.alone.yml -p web up --build
```
(your project name instead of ` web `)

4. Open

Go to ` https://web.kosyachniy.com/ ` (your link)

### Production (with multiple projects)
1. Customize files ` docker/.env ` & ` Makefile `

2. Run Docker Compose
```
cd docker/
docker-compose -f docker-compose.prod.yml -p web up --build
```
(your project name instead of ` web `)

3. Set up NGINX using [docker/server/nginx.server.conf](docker/server/nginx.server.conf) (if not done)

More: [SERVER.md](SERVER.md)

4. Open

Go to ` https://web.kosyachniy.com/ ` (your link)

## Install & Use without Docker
### Back-end
1. Change folder
```
cd api/
```

2. Customize file ` sets.json `

3. Virtual environment
```
python3 -m venv env
env/bin/pip install -r requirements.txt
```

4. Run
```
env/bin/uvicorn app:app --host 0.0.0.0 --port 5000 --proxy-headers --reload
```

### Front-end
1. Change folder
```
cd web/
```

2. Customize file ` src/sets.json `

3. Virtual environment
```
npm install
```

4. Run
#### Development
```
npm start
```

#### Production
```
npm run build
serve -s build -p 3000
```