Giter VIP home page Giter VIP logo

site's Introduction

Repositório do site institucional da LibreCode

Instalação

git clone [email protected]:librecodecoop/site.git
cd site
docker-compose up

Deploy

Para fazer deploy faça um fork do projeto com sua conta pessoal, adicione um novo remote com a url do seu fork, crie uma nova branch a partir da develop com o nome da funcionalidade a ser implementada, faça seus commits, empurre a branch criada para seu remote e crie um pull request para o repositório oficial do site na branch develop.

Exemplo:

git remote add fork <seu_fork>
git checkout origin/develop
git checkout -b <nome_da_branch>
# Desenvolva as mudanças
git commit
git push fork <nome_da_branch>

Após o seu pull request ser aceito, faça um pull request da branch develop para a main. Quando este pull request também for aceito, irá iniciar o deploy pelo Travis, caso não ocorram erros o site estará atualizado em produção.

site's People

Contributors

any97cris avatar cviniciussdias avatar dependabot[bot] avatar enieber avatar leodev0 avatar liviacarolgouvea avatar lortrindade avatar nandavereda avatar vinicios-gomes avatar vitormattos avatar wilcorrea avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

site's Issues

Header Component

Header

It should contain the Cooperative logo and links to each page and search bar.

Links

  • Home
  • Who we are
  • Products and services
  • Blog
  • Events
  • Support
  • Contacts

The search should only run on the current page.
Should highlight the current page

Task

  • Create a Header component
  • Must contain the search bar component.
  • Highlight the current page.
  • Unit test with Jest

Prototype

Desktop

image

Mobile

image

Estimated: 8h

Home Page

The home will be divided into sections, in total there will be 9. Each section will have a Title, Description and a button linking to unique pages.

Assets should follow the naming: sectionName-AssetName.png

Tasks

  • Read json in content/pages/Home.json
  • Render sections on screen using array.prototy.map
  • Unit test with Jest
  • Integration Test with jest

Prototype

Desktop

LibreCode  Home Desktop

Mobile

LibreCode Home Mobile

Estimated: 5h

Setup NextJS

NextJS + TypeScript

Create the minimal environment to work with React, Next, TypeScript, Jest, MDX, Sass and Docker.

Should render static pages with contents in markdown
configure MDX inside nextjs https://nextjs.org/blog/markdown

  • Create project in NextJS + Typescript
  • Configure Lint
  • Configure Sass Loaders
  • Configure MDX to render content in Markdown
  • Configure ENV
  • Create docker-compose.yml
  • Install and configure Jest

Estimated: 6h

Products and services Page

Render the products and services options on screen

Tasks

  • Read the markdown in content/pages/Products-and-Services.md
  • Render sections on screen using v-for
  • In the product section if click on the button Saiba mais redirect to route /products-and-services/products
  • In the services section if click on the button Saiba mais redirect to route /products-and-services/services
  • Unit Test with Jest
  • Integrated Test with Jest

Prototype

Desktop

LIBRE CODE

Mobile

image

Estimated: 4h

Footer Component

It should contain an unordered list of links to pages, the logo of the Cooperativa and the Copyright.

Links to list

  • Home
  • About LibreCode
  • Products and services
  • Blog
  • Events
  • Support
  • Contact

Tasks

  • Should Read the content inside content/footer.md
  • List the links
  • Soon
  • Copyright
  • List the links
  • Soon
  • Copyright
  • Unit test with jest

Prototype

Desktop

LibreCode Footer Desktop

Mobile

LibreCode Footer Mobile

Estimated: 1h

Fix OpenGraph logo

https://www.opengraph.xyz/url/https%3A%2F%2Flibrecode.coop%2Fjobs

Now is:

assets/images/coop.png

Need to be:

assets/images/logo/logo.png

I also forgot to add og_image here:

https://github.com/LibreCodeCoop/site/blob/main/source/jobs/index.blade.php#L1

To replace this:

https://github.com/LibreCodeCoop/site/blob/main/source/_layouts/main.blade.php#L8

Will be necessary add a code like this:

@extends('_layouts.main', ['og_image' => .... here the path of photo])

to-do

  • fix default og:image
  • fix the og:image of jobs page

Blog - Post List

It should be part of the website. With /blog route, you should list posts from LibreCode account on dev.to
List all posts in two columns. The post listing must contain:

  • Image (Optional)

  • Title

  • Created_at Post

  • Description

  • Keep Reading button, to link a post content

    LibreCode account: https://dev.to/librecodecoop

Tasks

  • Header
  • Get posts in LibreCode account on dev.to
  • Create two-column to post listing
  • The post listed should display Image, Title, created_at, descrition, action to keep reading.
  • Implement IntersectionObserver Api for infinite scroll of posts
  • Unit Test With Jest

Prototype

Desktop

LibreCode Blog - Post List Desktop

Mobile

LibreCode Blog - Post List Mobile

Estimated: 40h

Search Bar

It should be possible to search within the current page, or across the entire website.

Tasks

  • Search bar component
    • Option to select where to search
      • Current page
      • Every website

Prototype

image

Estimated: 3h

Button Link Component

Should be receive props.

Interface to prop

interface PropButton {
  text: String
  route: String
  type: String
}

We have 3 layout for this button, use class to modified.
Receive as prop the type to display layout.

Tasks

  • Type of the Button
    • Receive as prop the type
    • Change the class by modifie layout
  • Show text
  • Link for page
  • Unit test with jest

Prototype

image

image

image

Estimated: 4h

Blog - Post

Import the posted article from dev.to, display it on screen, create a box to display recent posts, categories and tags on the side of the article. Customize the info about the author of the post. Import comments from devto.

https://developers.forem.com/api

Tasks

  • Header
  • Get post in LibreCode account on dev.to
  • Render post
  • Create sidebar to render recents posts title, tags, categories
  • customize author bio
  • ender coments
  • anchor to previous or next post
  • Unit Test With Jest

Prototype

Desktop

LibreCode Blog - Post Desktop

Mobile

LibreCode Blog - Post Mobile

Estimated: 30h

About Us - Software Livre

Display a part of who we are, where it will be explained about free software, the pillars of the free license and an anchor to direct where you have more information about free software

Tasks

  • Header
  • Render content from content/pages/About-Us/software-livre.md
  • Unit Test with jest

Prototype

Desktop

LibreCode About Us - Software Livre Desktop

Mobile

LibreCode About Us - Software Livre Mobile

Estimated: 5h

Products and Services - Services

Display the services provided by the cooperative and/or links to take you to where to get more information.

Tasks

  • Header
  • Render content from content/products-and-services/services.json
  • Unit test with jest

Prototype

Desktop

LibreCode Products and Services - Services Desktop

Mobile

LibreCode Products and Services - Services Mobile

Estimated: 20h

About Us - Coooperativismo

Display a part of who we are, where a part about cooperativism is explained, the principles and an anchor to take you to where to get more information about cooperativism

Tasks

  • Header
  • Render content of content/pages/About-Us/cooperativismo.md
  • Unit Test with jest.

Prototype

Desktop

LibreCode About Us - Cooperativismo Desktop

Mobile

LibreCode About Us- Cooperativismo Mobile

Estimated: 5h

Products and Services - Products

Page where you should display all our products along with links to take to your landing pages.image

Tasks

  • Header
  • Render content of content/products-and-services/products.json
  • Unit test with jest

Prototype

Desktop

LibreCode Products and Services - Products Desktop

Mobile

LibreCode Products and Services - Products Mobile

Estimated: 20H

Default Template

Should be load the components Header and Footer and the routing to the page to be displayed.

Tasks

  • Create default template
    • Add Header Component
    • Add Footer Component
  • Integration test with Jest

Estimated: 1h

Content Migration

Move the content of the pages

Migrate content to the new structure. Create content migration history. Origin Page -> Destination Page

Structure folder

- content
  - page
    - content-1.md
    - content-2.md
    - content-3.md
  - blog
    - posts
      - post-1.md
      - post-2.md
      - post-3.md

Content structure to Front Matter

---
title: Who we are
description: We are LibreCode
img: librecode-image.png
alt: This is LibreCode
---

Your content can be written here using markdown.

Estimated: 15h

Our Cooperative Members

Develop our cooperados page, you should read the JSON at @/Content/about-us/nossos-cooperados.json. You must have an unordered list that contains the cards of our members, who have, image, name, position and email.

It must have in the data structure, an option, UseGravatarApi for get Avatar using Gravatar.
If true, execute a request passing email to Gravatar.

Tasks

  • Read the Json file in @/content/about-us/nossos-cooperados.json
  • Create Structure
  • If UseGravatarApi return true, execute function to get avatar.
  • Component MemberCard
  • Render page
    • Header
    • Description
    • Members
  • Create responsive

Prototype

Desktop

image

Mobile

image

About Us Page

This page will be divided into sections, it should consume the markdown content and display each section on screen.

It will have a button linking to a page. if mentioned in the markdown

Tasks

  • Read the markdown in content/pages/About-Us/index.md
  • Render sections on screen using v-for
  • Unit test with Jest
  • Integration Test with Jest

Prototype

Desktop

LibreCode About Us Desktop

Mobile

LibreCode About Us Mobile

Estimated: 5h

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.