Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/doreapp/skillect
Skills website
https://github.com/doreapp/skillect
backend celery docker docker-compose fastapi frontend full-stack fullstack letsencrypt mui postgresql python python3 react reactjs tailwind tailwindcss traefik
Last synced: 28 days ago
JSON representation
Skills website
- Host: GitHub
- URL: https://github.com/doreapp/skillect
- Owner: Doreapp
- License: mit
- Created: 2022-10-22T14:43:19.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-12-05T11:04:44.000Z (almost 2 years ago)
- Last Synced: 2023-03-04T11:58:55.609Z (over 1 year ago)
- Topics: backend, celery, docker, docker-compose, fastapi, frontend, full-stack, fullstack, letsencrypt, mui, postgresql, python, python3, react, reactjs, tailwind, tailwindcss, traefik
- Language: Python
- Homepage:
- Size: 2.9 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Skillect
A Client-Server website, meant to store and display experiences and skills.
> 💡 Inspired from [full-stack-fastapi-postgresql](https://github.com/tiangolo/full-stack-fastapi-postgresql) project.
## How to use
One need `docker` and `docker-compose` to start the application.
Run `make`.
Then open [`http://localhost`](http://localhost).
You can also access webpages of [Swagger](http://localhost/docs) and [ReDoc](http://localhost/redoc)
## Deployment
Deployment considers that you have a remote device, in which you can connect via SSH.
### Manual deploy
1. Connect in ssh to the device
2. Clone the project: `git clone https://github.com/Doreapp/skillect.git`.And enter in project's directory: `cd skillect`
3. Deploy the website: `make deploy`. You need to define several environment variables, described [here](#environment-variables)### Continuous Deployment
GitHub actions are setup to deploy the project automatically, each time a change is pushed to `main` branch.
For the *CD* to run as intended, you need to define some *Actions secrets* in GitHub repository's settings. First, there are all the environment variables described [here](#environment-variables) (that can also be set directly in the `Makefile`) but also:
- `FIRST_SUPERUSER`, email address identifying the initial superuser
- `FIRST_SUPERUSER_PASSWORD`, password of the first superuser
- `POSTGRES_PASSWORD`, password to connect to *Postgres* database
- `SSH_KEY`, RSA ssh key to connect to the deployment target, **With new lines (`\n`) replaced by `#`)**### Environment variables
Default values for environment variables are defined in [`base.env`](env/base.env) and [`development.env`](env/development.env) files.
Other environment variables are defined on top of the [`Makefile`](Makefile), such as:
- `TRAEFIK_PUBLIC_NETWORK`, it can remain to default.
- `DOMAIN`, it is your domain name (like `www.google.com`).
- `SSH_USER`, it is the user to use during ssh communication with deployment target.