Giter Club home page Giter Club logo

todoapp's Introduction

Todo App Technical Documentation

Table of contents

Code documentation

Prerequisites

  • Visual studio community 2022
  • Docker desktop

Install

  • Clone the repo
    git clone https://github.com/taufikfadjar/TodoApp.git

Execute program

You can choose execute using visual studio or by using docker

Using docker

  • Open terminal & create a new docker network
docker network create my-network
  • Go to root TodoApp folder and open terminal for build web api
docker build -t webapi-todo -f ./TodoApp.WebApi/Dockerfile .
  • Run docker web api for expose a port 5000 on host
docker run --name webapi-todo -p 5000:80  --network my-network -d  webapi-todo
  • Run migration sqllite by opening browser than hit api migrations
http://localhost:5000/api/Migration
  • After finisih execute web api. Next you can execute blazor server. First make a changing configuration for API Endpoint. Open TodoApp.BlazorServer folder and edit appsettings.json.
"ApiEndPoint": "http://webapi-todo:80/"
  • Go to root TodoApp folder and open terminal for build blazor
docker build -t blazor-todo -f ./TodoApp.BlazorServer/Dockerfile .
  • Run docker blazor for expose a port 5001 on host
docker run --name blazor-todo -p 5001:80 --network my-network  -d  blazor-todo

Using visual sudio

  • Open visual studio 2022 and choose TodoApp.sln
  • After visual studio was opening project. You can go to Tools > Nuget Package Manager > Package Manager Console Go root TodoApp.Model and run script on that terminal for applying sql lite db creation
 cd .\TodoApp.Model
 dotnet ef --startup-project ../TodoApp.WebApi/ database update
  • Please check a todos.db created or not in TodoApp.WebApi
  • Changing configuration for API Endpoint. Open TodoApp.BlazorServer folder and edit appsettings.json.
"ApiEndPoint": "https://localhost:7132/"
  • For running two application on visual studio. You can right click on solution. Click properties and select multiple project Set action TodoApp.BlazorServer to start and set action TodoApp.WebApi to start then apply

Project structure

Web API

  • TodoApp.WebApi : Web api application for handle user login & registration and todo api services
  • TodoApp.Service : Project contains todo business logic
  • TodoApp.Model : Project contains model and dbcontext

Web Client Blazor

  • TodoApp.Blazor : Web apps for client which contain todo UI

Unit test

  • TodoApp.Test : Project test for testing web api function

Usage

  • User can access TodoApps Home

  • User can register user Register

  • User can login Login

  • User see todo list Login

  • User create todo list Login

Product documentation

  • Bussiness requirement

    • User Registration: Users are able to register their user id, password, and name
    • User Login: Users are able to perform authentication using user id and password before maintaining their To-Do activities.
    • To-Do Creation: Users are able to input multiple Subject and Description of their To-Do activities. To-Do items should have activities_no where it is a unique sequential activities number with format “AC-XXXX” stored in the database.
    • To-Do List: Users are able to see a list of their To-Do activities.
    • To-Do Marking: Users are able to mark their To-Do activity to Done or Canceled, and reverse status to Unmarked.
    • To-Do Modification: Users are able to modify Subject and Description of Unmarked activity.
    • To-Do Deletion: Users are able to delete any Unmarked To-Do activity .
  • Use cases diagram

use case

Software Architecture Schemas

  • Logical architecture

    logical architecture

Database schemas

  • relation of tables and databases

    database

todoapp's People

Contributors

taufikfadjar avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.