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
- Create and manage TODO items
- Create and manage Notes
- Tag TODOs and Notes
- 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
- Clone the repo
git clone https://github.com/ricardo-campos-org/react-typescript-todolist
- Install NPM packages
npm install
- Start the development server
npm start
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:
- You can head to the Actuator Health page at: http://localhost:8585/actuator/health
- And you want, you can open up the Swagger UI at: http://localhost:8585/swagger-ui/index.html
All at once:
docker compose --profile dev up -d
Cleaning up:
docker compose --profile dev down --remove-orphans
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
Unit tests
Here
Integration tests
Here
Code style enforcement
Google Checkstyle
Once you're in the home screen, you can click the button to create your first TODO item.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feat/amazing-feature
) - Commit your Changes (
git commit -m 'Add some amazing feature'
) - Push to the Branch (
git push origin feat/amazing-feature
) - Open a Pull Request
Distributed under GPLv3 License. See LICENSE
for more information.
Ricardo Campos on X - @RicardoMpcInc