Skip to content

maevsi/vibetype

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ci status license status

Vibetype

Find events, guests and friends: vibetype.app.

This project is deployed within the maevsi/stack in accordance with the dargstack template to make deployment a breeze.

Welcome

Table of Contents

  1. Contributing
  2. Development
    1. Frontend only
    2. Fullstack
  3. Security
  4. Technology

Contributing

Before you start with development, make sure you familiarize yourself with our guide for contributions to ensure your development experience stays flawless! πŸ”§

Development

The setup for frontend development is easy! πŸ’…

The setup for backend development is more complex as it consists of numerous services which are best set up containerized πŸ§‘β€πŸ’»

You're encouraged to ask questions on Vibetype's Discord if the setup could go smoother!

Frontend only

click here for instructions

Preparation

  1. (optional) if you're on Windows, you might want to setup WSL to be able to use all Linux functionality this project utilizes
  2. install Git to download this project's modules and participate in version management
  3. install mkcert for development certificate generation and installation, so that all services are available through https
  4. install nvm to be able to switch the currently active Node.js version on your machine (useful when working on multiple Node.js projects)

Setup

  1. create a directory named vibetype in a directory of your liking

  2. download this repository into that newly created directory:

    cd vibetype
    git clone https://github.com/maevsi/vibetype.git
  3. switch into the vibetype subdirectory and setup Node:

    cd vibetype
    nvm install
  4. then install all dependencies using pnpm, which should include the src directory automatically:

    corepack enable
    pnpm install
  5. finally, start the frontend:

    cd src
    pnpm dev
  6. you should now be able to access Vibetype under https://localhost:3000/! πŸŽ‰

Fullstack

click here for instructions

Preparation

  1. if you're on Windows, setup WSL to be able to use all Linux functionality this project utilizes
  2. install Git to download this project's modules and participate in version management
  3. install nvm to be able to switch the currently active Node.js version on your machine
  4. install mkcert for development certificate generation and installation, so that all services are available through https
  5. install Docker so that all services run in their containers
  6. install dargstack to bootstrap a Docker stack setup

Setup

  1. create a directory named vibetype in a directory of your liking

  2. download the project modules vibetype, maevsi/stack and sqitch into that newly created directory:

    cd vibetype
    git clone https://github.com/maevsi/vibetype.git
    git clone https://github.com/maevsi/stack.git
    git clone https://github.com/maevsi/sqitch.git
    • vibetype contains the frontend and database migrations
    • maevsi/stack is the service configuration
    • sqitch is the database migration service
  3. switch into the vibetype subdirectory and setup Node:

    cd vibetype
    nvm install
  4. then install all dependencies using pnpm, including the src directory:

    corepack enable
    pnpm install
  5. configure Vibetype's dargstack then take note of the following output:

    cd ../stack/src/development
    cp stack.env.template stack.env
    pnpm store path
  6. use the previous command's path output to fill the PNPM_STORE_DIR variabe using the editor of your choice:

    $EDITOR stack.env
  7. install a root development certificate on your system and create subcertificates for the application to have all services available under https:

    mkcert -install
    ./certificates/mkcert.sh

    Note that in a WSL setup mkcert does not import the root certificate authority into your browsers' certificate store. You'd need to manually add this certificate to your browsers' storage then. You can find the directory containing the certificate file by running mkcert -CAROOT.

  8. you are now ready to start everything up:

    cd ../../
    dargstack deploy
  9. finally, create the Docker development images for vibetype and sqitch so that their services start successfully:

    dargstack build vibetype
    dargstack build sqitch
  10. you should now be able to access Vibetype under https://localhost! πŸŽ‰

    If there are issues, you can debug the services as described in the following "Container Management" section.

Container Management

To see if services are running or not you can use Portainer if you prefer a web view instead of the command line. Head to this gist for the Portainer setup command. When the container is running, you'll be able to access Portainer under https://localhost:9443. You may be asked to accept the risk of a self-signed certificate, which is ok to do at this time. On your local Portainer website, create a user, add an environment, start the Docker wizard, choose "Socket", name it e.g. "local" and close the wizard. Under "home", select the newly created environment then. You'll have access to all containers, images, volumes and more via the left sidebar then.

Security

Head to our disclosure policy to see how to report security issues and how we value your report.

Technology

Nuxt