Code Monkey home page Code Monkey logo

tiagodiass / easyboards Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 1.0 2.32 MB

📋 A webapp to help people manage their tasks (kind of a Trello clone) developed with React, Next.js, Typescript, Styled Components and more

Home Page: https://easyboards.vercel.app

Shell 0.04% TypeScript 97.98% JavaScript 1.49% Handlebars 0.49%
dark-theme drag-and-drop nextjs react react-drag-and-drop react-trello storybook styled-components trello-clone trello-like typescript

easyboards's Introduction

EasyBoards. A Trello clone developed with React, Next.js, Typescript and more.

Repo's top languages

A front-end app similar to Trello developed by @TiagoDiass where people can manage their tasks

Final result   |    Used technologies   |    Features   |    Tests   |    Deploy   |    How to run

A board called iOS App, with three columns and some tasks.

✅ Final result

🖥 Used Technologies

  • Next.js- Next.js is a framework built on top of React.
  • TypeScript - Typescript is a superset of the common JavaScript. With that, we can type and maintain our code easier.
  • Styled Components - Styled components is a CSS-in-JS library.
  • React Testing Library - React Testing Library is a library that allows us to create unit and integration tests of React components.
  • Storybook - Storybook is an open source tool for building UI components and pages in isolation. It streamlines UI development, testing, and documentation.
  • ESLint and Prettier - With ESLint and Prettier, we can improve our code quality by linting and auto formating it.

📋 Features

  • User can drag and drop tasks into columns
  • User can reorder the columns by dragging and dropping them
  • User can create tasks
  • User can delete tasks
  • User can delete all tasks of a column (shortcut to save user's time)
  • User can create columns
  • User can delete columns
  • User can edit a column name
  • The board data is persisted into the browser's localStorage so the user will not loose his/her board data
  • The application starts with a simple first board so the user can start using the app without having to create his/her own board. A starter board also helps users to get to know the app when they are having their first contact with that
  • User can change the application's theme from light to dark mode
  • User can create multiple boards:
    • User can create a board starting from a starter template (basic Kanban template)
    • User can create a board starting with no template (that is, the board will start empty instead of with the basic Kanban columns)
  • User can change a board name
  • User can delete a board
  • Custom 404 page to tell user that he/she tried to access a board that doesn't exist
  • Multilanguage (English and Portuguese)
  • User can change a board background
  • User can sign in in order to save his/her boards data into a database, this way the user will be able to acess his/her boards from any browser in any computer, not only the browser that has the localStorage data set
    • Sign in with Google
    • Sign in with Github
  • User can change his/her profile data (name, title, picture)

Do you have an idea of feature? Get in touch with me and we can talk about a contribution to the project!

🧪 Tests

Almost 100% of code coverage in tests ✅

🚀 Deploy

I have deployed this application on Vercel. It's configured with a continuous deployment with this Github repository, that is, everytime the codebase from the main branch of this repository gets updated, Vercel will trigger a build of the project and will put it in production. Click here to check the application running on Vercel

📚 Storybook

Storybook is a live documentation of the application components. It helps developers that are getting to know the codebase, designers that want to validate the components implemented by the developers, developer that want to know how to use any component of the app and so on. I have deployed the Storybook of this app on Vercel with a continuous deployment just like the application itself.

▶️ How to run

First steps

If you want to run the application in your computer, follow these steps; First of all, you'll need to clone the repository and install the dependencies. Assuming you have Yarn installed in your computer, follow the steps bellow:

# Clone the repo
$ git clone https://github.com/TiagoDiass/easyboards.git

# Enter the repo's folder
$ cd easyboards

# Install the dependencies
$ yarn install

Application

To run the application, just follow the steps below (assuming you have followed the first steps above)

# Start the app
$ yarn dev

After following these steps, the terminal will show you in which port it's running, it's on the port 3000 usually, so, you'll just need to enter in your browser and type localhost:3000, then you'll be able to check the app running. When you want to stop it, go to the terminal that you used to start the app, and type CTRL+C, this way you'll stop the app

Tests

To run the application tests, follow the steps below (assuming you have followed the first steps above)

# Run the tests
$ yarn test

# If you want to run the tests in order to see the code coverage, run:
$ yarn test:coverage

Storybook

Storybook is a live documentation of all components that were developed to use in this app. To start the Storybook, just follow the steps below (assuming you have followed the first steps above)

# Start the Storybook app
$ yarn storybook

After starting the Storybook, the terminal will show you in which port it's running, it's on the port 6006 usually, so, you'll just need to enter in your browser and type localhost:6006, then you'll be able to check the storybook app running. When you want to stop it, go to the terminal that you used to start the app, and type CTRL+C, this way you'll stop the app


easyboards's People

Contributors

tiagodiass avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

hanuor

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.