mirror of
https://framagit.org/les/gancio.git
synced 2025-02-01 00:52:01 +01:00
292 lines
8.4 KiB
HTML
292 lines
8.4 KiB
HTML
<!DOCTYPE html>
|
||
|
||
<html lang="en-US">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
|
||
|
||
|
||
<title>Project Structure - Gancio</title>
|
||
|
||
|
||
|
||
|
||
<link rel="shortcut icon" href="https://gancio.org/favicon.ico" type="image/x-icon">
|
||
|
||
<link rel="stylesheet" href="https://gancio.org/assets/css/just-the-docs.css">
|
||
|
||
|
||
|
||
|
||
<script type="text/javascript" src="https://gancio.org/assets/js/vendor/lunr.min.js"></script>
|
||
|
||
<script type="text/javascript" src="https://gancio.org/assets/js/just-the-docs.js"></script>
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
||
<!-- Begin Jekyll SEO tag v2.6.1 -->
|
||
<title>Project Structure | Gancio</title>
|
||
<meta name="generator" content="Jekyll v3.8.6" />
|
||
<meta property="og:title" content="Project Structure" />
|
||
<meta property="og:locale" content="en_US" />
|
||
<meta name="description" content="A shared agenda for local communities" />
|
||
<meta property="og:description" content="A shared agenda for local communities" />
|
||
<link rel="canonical" href="https://gancio.org/dev/structure" />
|
||
<meta property="og:url" content="https://gancio.org/dev/structure" />
|
||
<meta property="og:site_name" content="Gancio" />
|
||
<script type="application/ld+json">
|
||
{"@type":"WebPage","url":"https://gancio.org/dev/structure","headline":"Project Structure","description":"A shared agenda for local communities","@context":"https://schema.org"}</script>
|
||
<!-- End Jekyll SEO tag -->
|
||
|
||
</head>
|
||
|
||
<body>
|
||
|
||
<div class="page-wrap">
|
||
<div class="side-bar">
|
||
<a href="https://gancio.org/" class="site-title fs-6 lh-tight">Gancio</a>
|
||
<span class="fs-3"><button class="js-main-nav-trigger navigation-list-toggle btn btn-outline" type="button" data-text-toggle="Hide">Menu</button></span>
|
||
<div class="navigation main-nav js-main-nav">
|
||
<nav role="navigation" aria-label="Main navigation">
|
||
<ul class="navigation-list">
|
||
|
||
|
||
|
||
|
||
<li class="navigation-list-item active">
|
||
|
||
<a href="https://gancio.org/404.html" class="navigation-list-link"></a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="navigation-list-item">
|
||
|
||
<a href="https://gancio.org/" class="navigation-list-link">Home</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li class="navigation-list-item">
|
||
|
||
<a href="https://gancio.org/install" class="navigation-list-link">Install</a>
|
||
|
||
|
||
<ul class="navigation-list-child-list ">
|
||
|
||
|
||
|
||
|
||
<li class="navigation-list-item ">
|
||
|
||
<a href="https://gancio.org/install/classic" class="navigation-list-link">Classic</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
<li class="navigation-list-item ">
|
||
|
||
<a href="https://gancio.org/install/docker" class="navigation-list-link">Docker</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li class="navigation-list-item ">
|
||
|
||
<a href="https://gancio.org/install/nginx" class="navigation-list-link">Nginx</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li class="navigation-list-item">
|
||
|
||
<a href="https://gancio.org/config" class="navigation-list-link">Configuration</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li class="navigation-list-item">
|
||
|
||
<a href="https://gancio.org/usage" class="navigation-list-link">Usage</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li class="navigation-list-item">
|
||
|
||
<a href="https://gancio.org/admin" class="navigation-list-link">Admin</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li class="navigation-list-item active">
|
||
|
||
<a href="https://gancio.org/dev" class="navigation-list-link">Hacking</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li class="navigation-list-item">
|
||
|
||
<a href="https://gancio.org/contribute" class="navigation-list-link">Contribute</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
<li class="navigation-list-item">
|
||
|
||
<a href="https://gancio.org/instances" class="navigation-list-link">Instances</a>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</div>
|
||
<footer role="contentinfo" class="site-footer">
|
||
<p class="text-small text-grey-dk-000 mb-0">This site uses <a href="https://github.com/pmarsceill/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll.</p>
|
||
</footer>
|
||
</div>
|
||
<div class="main-content-wrap js-main-content" tabindex="0">
|
||
<div class="page-header">
|
||
<div class="main-content">
|
||
|
||
<div class="search js-search">
|
||
<div class="search-input-wrap">
|
||
<input type="text" class="js-search-input search-input" tabindex="0" placeholder="Search Gancio" aria-label="Search Gancio" autocomplete="off">
|
||
<svg width="14" height="14" viewBox="0 0 28 28" xmlns="http://www.w3.org/2000/svg" class="search-icon"><title>Search</title><g fill-rule="nonzero"><path d="M17.332 20.735c-5.537 0-10-4.6-10-10.247 0-5.646 4.463-10.247 10-10.247 5.536 0 10 4.601 10 10.247s-4.464 10.247-10 10.247zm0-4c3.3 0 6-2.783 6-6.247 0-3.463-2.7-6.247-6-6.247s-6 2.784-6 6.247c0 3.464 2.7 6.247 6 6.247z"/><path d="M11.672 13.791L.192 25.271 3.02 28.1 14.5 16.62z"/></g></svg>
|
||
</div>
|
||
<div class="js-search-results search-results-wrap"></div>
|
||
</div>
|
||
|
||
|
||
<ul class="list-style-none text-small mt-md-1 mb-md-1 pb-4 pb-md-0 js-aux-nav aux-nav">
|
||
|
||
<li class="d-inline-block my-0"><a href="https://git.lattuga.net/cisti/gancio">Source</a></li>
|
||
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="main-content">
|
||
|
||
|
||
<nav class="breadcrumb-nav">
|
||
<ol class="breadcrumb-nav-list">
|
||
|
||
<li class="breadcrumb-nav-list-item"><a href="https://gancio.org/dev">Hacking</a></li>
|
||
|
||
<li class="breadcrumb-nav-list-item"><span>Project Structure</span></li>
|
||
</ol>
|
||
</nav>
|
||
|
||
|
||
<div id="main-content" class="page-content" role="main">
|
||
<h3 id="structure">Structure</h3>
|
||
|
||
<h3 id="api--backend">API / backend</h3>
|
||
|
||
<p>Source code inside <code class="highlighter-rouge">server/api/</code>.
|
||
<code class="highlighter-rouge">index.js</code> is basically a routing table pointing each PATH with specified
|
||
HTTP VERB to a method of a controller.</p>
|
||
|
||
<p>jwt is used to authenticate api request.</p>
|
||
|
||
<p>Express is based on middleware, passing each request to a chain of methods.</p>
|
||
|
||
<p>If you come from a PHP background, note that the main difference with
|
||
Node.js is that the server process is always running and able to manage
|
||
multiple requests and tasks together (asyncronically) while each php
|
||
process is tied to a single request.</p>
|
||
|
||
<p>Sequelize is used as ORM. Take a look in <code class="highlighter-rouge">/server/api/models</code>.</p>
|
||
|
||
<h3 id="client--frontend">Client / frontend</h3>
|
||
<p>Nuxt.js is used here!<br />
|
||
Nuxt is basically Vue plus SSR (Server Side Rendering).
|
||
Client routing in nuxt is automatic (if you don’t need something special),
|
||
just put your page inside <code class="highlighter-rouge">pages</code> and that’s it!</p>
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|