fossapps / starter.net Goto Github PK
View Code? Open in Web Editor NEWStarter kit for .NET
Home Page: https://fossapps.github.io/Starter.Net/
License: MIT License
Starter kit for .NET
Home Page: https://fossapps.github.io/Starter.Net/
License: MIT License
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);
}
And a docs page where we'll define what each of them do and which env var can overwrite it.
see if a user is available (for sign up), and if it's available for email as well.
make sure circle ci still passes
we want a interface which should be implemented
need a decent logger, but don't want to get stuck to their ecosystem, https://dotnetthoughts.net/how-to-use-log4net-with-aspnetcore-for-logging/ for reference, simply create a class, which will initialize log4net, then we can add providers on top of log4net (a simple logger, accepting log4net instance seems better, because log4net would be configured easily instead of doing a new
inside
looks like there are many linting, have to decide which one should I choose
to avoid building too many images
with the docker tags
when user requests a forgot password, send a token configured with jwt
use config file for this
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.
there is new release of .NET now, so we need to update this project
now it uses full commit hash, let's use short syntax so it's easy for people to pull
move hard coded values to config
docker-compose down && docker-compose up
then starting project, should create a user in database, check it in adminer localhost:8081)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)endpoint to login, it'll only log user in if user has verified email
postgres for now
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
MailMessage should be used as content, include a builder for MailMessage with fluent API, and also include interface for email client.
user should be able to sign up, but it should be locked by default
make sure all response is json, some of controllers are responding with string.
login endpoint is accepting data in body of post request, where it's supposed to use basic authentication
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.
add a user repository so we can query for users
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.
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 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.
public interface IRolesRepository
{
IdentityUserRole<string>[] GetRolesByUserId(string userId);
}
setup app metrics with basic stuff
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
instead of creating hardcoded admin user, use a config for that
user should be able to set a new password if the token is valid and is for the user.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.