/todolist

Back-end of a task management system using Java/Spring with Bcrypt hashing sensive data and lombok to simplify the dev experience.

Primary LanguageJava

todolist ☕

Back-end application focused on task management ensuring that only the task owners can manage them through a basic authorization flow.

Visits Badge

Notebook and cup of coffee ilustration on the right side written 'Coffee is all you need' with the logo of Java between the words 'Coffee' and 'is' in the left side.
Table of Contents
  1. Idea
  2. How to run
  3. How to develop
  4. Collection
  5. References

Idea

  • Create users using bcrypt hashing to mask user password on database.
    • Users must have unique usernames
  • It's important to filter user credentials just for tasks requests.
    • This data will be sent in authorization header, where the basic authorization mode is used.
    • Tasks must have in maximum titles with 50 characters.

How to run

Step 1 - Prerequisite to run

Step 2 - Image 🖼️

Go inside the project root and create the application image based on Dockerfile

docker build -t todolist

Step 3 - Run 🏃‍♂️

After the command execution

docker run -e DB_USERNAME=<username> -e DB_PASSWORD=<password> -p 8080:8080 todolist

That's all! 🎉

How to develop

Step 1 - Prerequisite to develop

  • Java 17 of your preference (I just use one of IntelliJ suggest me)
  • Configure the variables in your environment.
    DB_USERNAME=<username>
    DB_PASSWORD=<password>
    

Obs: You can just set the environment variables in your running configuration if you're using an IDE that have this feature.

Step 2 - Clonning 👥

git clone https://github.com/barreto/todolist.git

Step 3 - Run 🏎️

By command line (if you have mvn configured on PATH)

mvn spring-boot:run

Or you can find the "Play" button in your IDE.

That's it! 🎊

Collection

Collection preview.png Import in Insomnia

References


Thanks ❤️‍🔥

back to top ↑