rmcamposandGitHub cc0a9c3de1 feat: Add Brazilian Portuguese and Spanish languages (#132)
* feat: add languages - wip

issue #90

based on article https://dev.to/franklin030601/building-a-multi-language-app-with-react-js-2och

* feat: translate landing, login and register pages

issue #90

* feat: translate all the external texts and messages

issue #90

* feat: add new automations scripts and remove old ones

* feat: add server build info on actuator health page

* feat: language handling for all external pages

issue #90

* feat: start translation at the home page - wip

issue #90

* feat: improve automation to run services on docker

* feat: more automations for the client this time

* feat: translate finished for the home page

issue #90

* feat: translate about page, header and footer

issue #90

* feat: translate task page

issue #90

* feat: translate notes

issue #90

* feat: increase token expiration to one week

* test: fix test cases

* ci: remove client docker image from workflow

* feat: improve reliability

* chore: reduce duplications

* feat: fix lint issues

thansk to https://dev.to/aolyang/eslint-9-flat-config-tutorial-2bm5

* fix: path when login or register
2024-11-01 15:25:57 -03:00

TaskNote

License: GPL v3 Build Status

📋 Table of Contents

📝 About the Project

TaskNote was created to make our lives easier. In a nutshell, you can manage your TODOs and your Notes.

A key feature is that you can #tag a todo or note and search or filter later.

TODO: add GIF or screenshot of the app

Features

  • Create and manage TODO items
  • Create and manage Notes
  • Tag TODOs and Notes

🚀 Tech Stack

  • Frontend: React, Typescript, Vite, Vitest, Code Coverage
  • Backend: Java 17, Spring Web, GraalVM Cloud Native Image
  • Database: PostgreSQL, Flyway
  • Other Technologies: Docker, Docker Compose, Caddy

🛠 Installation

  1. Clone the repo
    git clone https://github.com/ricardo-campos-org/react-typescript-todolist
    
  2. Install NPM packages
    npm install
    
  3. Start the development server
    npm start
    

🏃‍♀️ Running locally

Locally without Docker

Client:

cd client
npm install
npm start 

Server - Java API:

cd server
./mvnw spring-boot:run \
  -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"

PS: You have the option to define four environment variables for the database connection. In case you decide not to do, they'll be set to default. They are:

POSTGRES_HOST=localhost
POSTGRES_DB=tasknote
POSTGRES_USER=tasknoteuser
POSTGRES_PASSWORD=default

PS2: Java API needs a running database to work. You can leverage Docker Compose for this, running this command:

docker-compose up --profile dev postgres -d

Checking if it's running:

Locally with Docker Compose

All at once:

docker compose --profile dev up -d

Cleaning up:

docker compose --profile dev down --remove-orphans

🦾 Automation

Client

Unit tests: Client relies on these libraries:

  • React-Testing-Library
  • Vitest

Here's how you can run locally:

cd client
npm run test

Integration tests

Not available.

Code style enforcement

Here, ESlint, Airbnb

Java API

Unit tests

Here

Integration tests

Here

Code style enforcement

Google Checkstyle

🎮 Usage

Once you're in the home screen, you can click the button to create your first TODO item.

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Steps to Contribute:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feat/amazing-feature)
  3. Commit your Changes (git commit -m 'Add some amazing feature')
  4. Push to the Branch (git push origin feat/amazing-feature)
  5. Open a Pull Request

📄 License

Distributed under GPLv3 License. See LICENSE for more information.

📞 Contact

Ricardo Campos on X - @RicardoMpcInc

S
Description
[k3s] Java fullstack REST+App for managing tasks and notes
Readme GPL-3.0
17 MiB
Languages
TypeScript 43.8%
Java 38.1%
HTML 10.8%
SCSS 2.1%
HCL 1.7%
Other 3.4%