This is a todo app, which is a web-based user interface, where users may interact with their tasks and manage their todo list. The frontend is designed with Vue.js and interfaces with the backend API designed in Go.
- Add new todos to help users organize their tasks using the add button.
- Mark the completed todos as done using a checkbox.
- Delete unwanted todos using the delete button.
- Rename a todo by double-clicking it and then typing the new name.
- Golang: A quick and efficient backend programming language.
- Gin: A Go-based lightweight web framework used to develop the API.
- Swagger: An API documentation and testing tool.
- Vue.js: A modern framework for creating user interfaces in JavaScript or Typescript. In this app, Typescript is used.
- Cypress: An end-to-end testing framework for web applications.
Before starting, ensure that the necessary tools are installed:
- Clone the repository:
$ git clone https://github.com/codescalersinternships/ToDoApp-Rodina.git- Go to the repository directory:
$ cd ToDoApp-Rodina- Backend Setup:
$ cd backend
$ go mod download
$ go run main.go
- Frontend Setup:
$ cd frontend
$ npm install
$ npm run serveRun the app using docker as follows:
$ docker-compose up -d- Open your web browser and go to http://localhost:8080 to access the app.
After starting the backend server, navigate to http://localhost:8096/swagger/index.html to view the API documentation and test the backend API using Swagger.
After installing all dependencies, you can test either the frontend or the backend as follows:
$ cd backend
$ go mod download
$ go test ./...$ cd frontend
$ npm install
$ npm run test