Coder Social home page Coder Social logo

websitemanager's Introduction

Website Manager

Simple CRUD API to manage websites.

Functional Specifications

Fields for create/update which are all required

  • Name - max length check added
  • URL - format checks added such as: http://test.com
  • Category (Vertical) - predefined list
  • Homepage Snapshot - max length check added
  • Login
    • Email - check added for correct format such as: [email protected]
    • Password - min length check added as well as max length

Website delete

  • It is soft delete

Websites list

  • List all fields
  • Implemented pagination and sorting

Prerequisites

Setup

  • items in the prerequsites section should be installed
  • project should be downloaded into your local machine
  • to communicate with the database, the connection string should be set in appsettings.json
    • "ConnectionStrings": { "DefaultConnection": "data source=ExampleServerName; initial catalog=WebsiteManager; integrated security=SSPI" }, where ExampleServerName is the name of your sql server name
    • to retrieve your sql server name you can write in the command prompt: SQLCMD -L (this can take some time)
  • open Visual Studio and type the following commands into the Package Manager Console:
    • add-migration init
    • update-database

Project Description

Technologies Used

Design Patterns Applied

  • Services - for separation of business logic
  • Repository - for data-access logic
  • Factory - for enhancing input data and save it to the database
  • Data mapping - for populating output data from the database

High Level Overview Of The Architecture

Alt text

Disclaimer

Unit tests are not covering 100% of the code, they are for showcase on the key areas that need to be covered.

Assumptions

  • Additional checking can be added for fields max and min length.
  • Validation for email address for matching pattern like: [email protected]
  • Validation for website url property to be as format: http://test.com
  • Validation for password pattern to have symbols, letters and numbers

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.