Giter Site home page Giter Site logo

starter.net's People

Contributors

cyberhck avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

starter.net's Issues

user service

    public interface IUserService
    {
        Task<(SignInResult signInResult, User user)> AuthenticateByUsername(string username, string password);
        Task<(SignInResult signInResult, User user)> AuthenticateByEmail(string email, string password);
        Task<(SignInResult signInResult, User user)> Authenticate(string login, string password);
    }

setup linting

looks like there are many linting, have to decide which one should I choose

multiple database support

There'll probably be a situation where we'll want to separate our read queries and write queries.

We need to have multiple database context, idea is to have 1 master db which only takes in writes, and N slave dbs which will be weighted and will be able to use weighted round robin for this.

Also add in a way so it's possible to do this, but if people don't want, should be easy to switch to simple 1 db as well.

use short commit sha

now it uses full commit hash, let's use short syntax so it's easy for people to pull

db config

move hard coded values to config

  • should work normally when db is being queried (running docker-compose down && docker-compose up then starting project, should create a user in database, check it in adminer localhost:8081)
  • should work when using migration from cli (dotnet ef database update --project ./Src/Starter.Net.Api/Starter.Net.Api.csproj --startup-project ./Src/Starter.Net.Api/Starter.Net.Api.csproj or dotnet ef database update should be able to apply migrations)

login endpoint

endpoint to login, it'll only log user in if user has verified email

implement email client

implement interface which was done in #50 but make sure you register, add two implementations, one for mandrill's HTTP API (since it's an interface, we can implement later), and another for normal smtp configured with mailtrap.io

data structure for email

MailMessage should be used as content, include a builder for MailMessage with fluent API, and also include interface for email client.

sign up

user should be able to sign up, but it should be locked by default

json everything

make sure all response is json, some of controllers are responding with string.

login endpoint is wrong

login endpoint is accepting data in body of post request, where it's supposed to use basic authentication

async everything

right now it's using everything as async, there are a lot of void types, we need to return whatever database returns and make sure we have async all the time.

only build docker image on PRs if a label is present

If we build all PRs and each push, we'll end up with too many docker images and tags.

Tags and master should be built always, but each PR doesn't need to.

If it's needed, contributor can add a specific label which build will check and tag if present.

In case build finishes before addition of this tag, contributor adds label, then restarts circleci's final build step in the pipeline and it should tag it.

auth

  • login
  • log out
  • signup
  • forgot password

publish built tag to docker hub

We need to login and publish to registry.
In future we can trigger postman tests which tests this current image with our tests, but for now only commenting with a predefined template will be good.

add location service

Add Location with lat long on our table, create a new domain called Location, everything will go inside this, make sure database is partial so we can add our db set from this domain.

IRolesRepository

    public interface IRolesRepository
    {
        IdentityUserRole<string>[] GetRolesByUserId(string userId);
    }

comment PR (if available) with published tag

while making a comment don't create a new comment, always use same comment, first time we can add a new comment, and after that we can edit same comment to add new info.

To store metadata we can use comments like probot-metadata

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.