Kanban board application to help organize and manage tasks.
A live demo is available here, you can also access the web API docs.
Why? • Technologies • Getting started • Contact • License
This application was built with the purpose of learning ASP.NET Core and ReactJS going through the planing, management, coding and deploying phases.
- Backend
- ASP NET Core: Cross-platform framework to build web apps
- PostgreSQL: Open Source Relational Database
- Dapper: Micro ORM
- FluentValidation: A popular .NET library for building strongly-typed validation rules
- Morcatko.AspNetCore.JsonMergePatch: JsonMergePatch support for ASP.NET Core
- FluentMigrator: Migration framework for .NET
- Frontend
- ReactJS: JavaScript library for building user interfaces
- Typescript: Typed superset of JavaScript
- styled-components: Stylization library to React
- react-router-dom: Declarative routing for React
- Heroku: Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud
- Firebase: A comprehensive app development platform
Clone this repository
git clone https://github.com/fernandovmp/kanban-board
Then, change to repository folder
cd kanban-board
Requires
Run the following command to start database, backend and frontend
docker-compose up -d
ASP.NET Core API will be available in http://localhost:5000
ReactJS app will be available in http://localhost:3000
To stop the application run
docker-compose down
Requires
Back-end
Restore all dependencies running
dotnet restore
Build the solution
dotnet build
To run the tests of all dotnet projects execute
dotnet test --filter TestType!=Integration
Add and fill the following properties on the appsettings.json
"ConnectionStrings": {
"PostgresConnection": ""
},
"CorsOptions": {
"PolicyName": "KanbanCors",
"AllowedOrigin": ""
},
"PasswordHasherOptions": {
"Iterations": 10000
},
"JwtToken": {
"Audience": "KanbanWeb",
"Issuer": "KanbanApi",
"Key": "",
"Seconds": 600
}
And run the web API project with the following command.
dotnet run --project src/KanbanBoard.WebApi
Front-end
Install the dependencies by running
yarn --cwd src/KanbanBoard.Frontend
Then, start the project
yarn --cwd src/KanbanBoard.Frontend start
In the docs directory you can find the the users histories, the Web API specification, the database model and the UI prototype for this project, and other additional instructions, this will give you a good idea of what expect of the project.
Contribution of any kind is appreciated!
Some ways you can contribute with the project are by open an issue with bug report, giving a suggestion or open a pull request.
To see the details of how contribute refer to the Contribution Guide.
If you want to contact me, you can do it in the following channels:
This repository is under the MIT license.