Git Product home page Git Product logo

dotnet-server's Introduction

Hi there ๐Ÿ‘‹

  • ๐Ÿ”ญ Iโ€™m currently working on a bunch of things
    • Desktop bookmarker
    • Contributing to other OS a bit more
    • Tweeter - a devchallenge that is a clone of twitter, sing it to explore some new tech stacks
  • ๐ŸŒฑ Iโ€™m currently learning Uniy (kind of want to make a game) and how to play the guitar
  • ๐Ÿ’ฌ Ask me about C#, myself ๐Ÿ˜„
  • ๐Ÿ“ซ How to reach me: twitter: @joro550, email: [email protected]
  • ๐Ÿ˜„ Pronouns: He/Him/His
  • โšก Fun fact:

Anime profile pictures are the future and you just have to accept that into your life ๐Ÿ˜„

About me: Born in 1991 in Wales (UK) ๐Ÿ‡ฌ๐Ÿ‡ง originally learned how to code in C++ but did have a few years where I was in love with ActionScript and did some pretty cool stuff there (all lost to time). Went to college got a BTEC National Diploma in computing and then moved to England for University and earned a BsC in computer science, have been coding professionally for around 6 years.

Main languages: C#, JavaScript/TypeScript, SQL, HTML

Want to learn: functional type language (maybe F#)

Hobbies: Love me some music, learning to play the guitar. Runner

dotnet-server's People

Contributors

dependabot[bot] avatar joro550 avatar manne avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

manne

dotnet-server's Issues

Some sort of ui for creating the file

Pie in the sky, but imagin instead of having to edit and manage a crappy json file you could setup the server within the server mind blown if we create an interface and then have people create endpoints via the interface, now that would be cool

Add persistence

We could have a database that gets spun up that allows users to post information which saves and then get that retrieves information from the database, I'm not 100% on this idea, so I'm gonna let this sit for a while. I'm pretty sure we'd have to make quite a few assumptions on the data and maybe this is taking the project a little too far into the CRM world

Multiple endpoints?

May want the ability to spin up multiple servers with different endpoints

Add tests

this was a quick hack - need to make it maintainable

Add your own cert?

i know nothing about certs right now - will have to do some research but maybe you would want to have the server run on a particular url and have your own cert and not have to have the dotnet cert, this is a big fat maybe right now

Refresh endpoint on file save?

Right now you have to close the server edit the file and then restart the server, I wonder if there is a way to deregister the old routes and register the new ones when the file has been saved (I'm assuming we could watch for the file being altered via a file watcher), this would stop people having to stop-edit-start and make things a little quicker overall

Import routes and run without file

I want to be able to import routes to the application and everytime I run the application I want it to run the routes that I have setup without having to define a file every time

Send message to feature

The ability to give a url and an object so that the server can post information back to somewhere.

So that when people call a certain url, if they need that url to post information back to them we can handle it

I don't know how many times I've needed this

Serve files from folder

If you have a bunch of files in a folder then aybe we can think of a way to load the endpoints from the file names and then grab the response from the file contents

Add Swagger?

Wondering if we could add swagger dynamically to the server so peoplecould inspect the endpoints and actually make requests form the webpage - that would be pretty cool

Application is not shutting down by pressing ctrl + c

Expected behavior

Starting the application with a valid configuration file and pressing ctrl + c shuts down the application. As the console output states in line 7.

โฏ .\DotNetSimpleServer.exe -fileName:..\..\..\..\..\file-example.txt
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:6000
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:6001
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\Users\ZZZ\Documents\GitHub\joro550_dotnet-server\src\GlobalServer\bin\Debug\netcoreapp3.0
info: Microsoft.Hosting.Lifetime[0]

Actual behavior

Starting the application with a valid configuration file (as in expected behavior) and pressing ctrl + c does not shut down the application. It prints out Application is shutting down... and stays there.

After pressing another key shuts down the application

Conditional statements

{
    "description": "A GET request to retrieve a thing",
    "request": {
        "method": "get",
        "path": "/things/{id:int}"
    },
    "response": {
        "where": [
            {
                "condition": "id == 10",
                "response": {}
            },
            {
                "condition": "id == 11",
                "response": {}
            }
        ]
    }
}

Maybe this makes sense?

Load response from file?

Maybe if the user specifies a file the server can load it dynamically so we don't have to stop and start the server all the time

Have this as a docker image?

We could have this as a docker image, if we remove the command line aspect of it (which should be faily trivial), that way you could docker run dotnetserver -e filename and point it at a filename, I think that would be pretty cool

Could we add some sort of front end framework?

One of the use cases I've com across in the past when implementing a payment provider is that I need an intermediate page where I could input data, so maybe we could

  • Add support to go to a url that renders a page
  • Add support for some sort of page rendering
  • Add support for information being passed back from the page

Again maybe a little too CRM like

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.