This poject is intended for those developers that want to start a project from scratch and doesnt devide about the stack techonolgies.
Basically the project contains modules for authentication, atuhorization, register and login users user cases.
The main idea of this project is that you can the technologies that best fit for you and have a starter project without dealing with a lot of staff.
For example you can pick a stack with angular9 + kiwi-server + mongodb or you can pick another stack with react + .net core + postgress.
- Flavors
- Front End Flavors
- Mobile Flavors (TODO)
- React Native TODO)
- Xamarin (TODO)
- Rest Api Flavors
- Kiwi Server
- .Net Core (IN PROGRESS)
- Future Work
On each layer we define some flavors to identify the tehcnologie that you want to use it.
We decide to use JWT to manage authentication so each layer is going to use the same.
Not all the flavors has an impelementatios but we are working to have.
At the moment we only have an application developed using angular 9 and also the same application is a PWA.
In the future we hope to add a React application.
We create an angular 9 application using the angular cli
Application use cases
- Login
- Register
- Forgot Password
- Small admin page where you see the list of users
For more information about this project please follow this link
In our case we adde pwa capabilities inside the angular9 applications.
If you need to read about please take a look at this post
-
ng-block-ui (https://www.npmjs.com/package/ng-block-ui)
-
ngx-toastr (https://www.npmjs.com/package/ngx-toastr)
-
We are using css flex (https://css-tricks.com/snippets/css/a-guide-to-flexbox/)
-
Angular Reactive Forms (https://angular.io/guide/reactive-forms)
- Default validators
- Custom validators
-
Authentication with guards and interceptors
All apis has the folloging services
- POST
/user
(register a new user) [username, mail, password] - GET
/user/curren
(get the current user) - POST
/user/login
(authenticate a user) [username, password] - POST
/user/forgot-password
[username (username or email)] - PUT
/user/reset-passowrd
[token, password]
{
"result": number,
"msg": string,
"data": any
}
{
"result": 0,
"msg": "User registered successfuly",
"data": null
}
{
"result": 1,
"msg": "Username or mail already taken",
"data": null
}
We create a rest api with the following services using kiwi-server.
For more information about this project please follow this link
IN PROGRESS
For more information about this project please follow this link
- Create reale case (API for register, reset password, list users) (GUILLE)
- ADD JWT
- Documentation about angular material
- Add documentation (UI y API)
- Integrate PWA (https://angular.io/guide/service-worker-getting-started)