Nucleus alternatives and similar packages
Based on the "Application Templates" category.
Alternatively, view Nucleus alternatives based on common mentions on social networks and blogs.
-
Serene
Serenity is an ASP.NET MVC application platform designed to simplify and shorten development of data-centric business applications with a service based architecture. Serene is a starter template to build Serenity applications. -
ASP.NET MVC Boilerplate
A professional ASP.NET MVC template for building secure, fast, robust and adaptable web applications or sites. It provides the minimum amount of code required on top of the default MVC template provided by Microsoft. -
ASP.NET Core Starter Kit
backend: .NET Core, EF Core, C#; frontend: Babel, Webpack, React, CSS Modules -
ProjectScaffold
A prototypical .NET solution recommended by the F# Foundation---includes file system setup, Paket for dependencies and FAKE for build/test automation. By default, build process also compiles documentation and generates NuGet packages. -
JHipster.NET
JHipster blueprint for replace orginal SpringBoot Backend by asp.net core. The main goal generator of jhipster is showcases best practices of modern web development in java. So the goal of the project is to do the same in .net. The Frontend can be generated with angular or react and soon with blazor. -
DotNetCleanArchitecture
A Clean Architecture and Model-View-Presenter demo with implementation guided by Tests.
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of Nucleus or a related project?
README
Nucleus
Web API startup template with a Vue Client application.
Requirements
- Vue CLI v3.x or later.
- Nodejs v10.x or later.
- Visual Studio 2019 v16.3 or later for Windows.
- Visual Studio 2019 for Mac v8.3 or later for macOS.
How to Start?
Local Environment
- Select
Nucleus.Web.Api
project "Set as Startup Project" - Open "Package Manager Console" and select default project as
src/Nucleus.EntityFramework
- Run
update-database
command to create database. - Run(F5 or CTRL+F5) Web API project first
- Run
yarn
command at locationsrc/Nucleus.Web.Vue
to install npm packages. - Run
yarn serve
command to run Vue application. - Admin user name and password :
admin/123qwe
Run with Docker
- Run
docker-compose build
command. - Run
docker-compose up -d
command to run application. - Go to
http://localhost:36221
To change the environment
- Run
docker-compose -f docker-compose-production.yml build
command. - Run
docker-compose -f docker-compose-production.yml up -d
command - Go to
http://localhost:36211
Vue Application Screenshots
Login Page
Register Page
Forgot Password Page
List Pages
Create/Edit Pages
ASP.NET Core Web API
Project solution:
Swagger UI
Document
Swagger UI Authorize
You can login on swagger ui by using a bearer token. So you can make requests to authorized end-points. Check the following steps.
- In swagger ui, execute
api/login
to get a bearer token. - Copy bearer token that is in
api/login
response. - Click
Authorize
button in swagger ui page. - Enter the token like
Bearer <token>
and clickAuthorize
. - Now you can make requests to authorized end-points.
Adding New Language
- Add json file to store language keys and values to
Nucleus\src\Nucleus.Web.Vue\src\assets\localizations\your_language.json
- Copy
en.json
content and translate the values to target language. - Add country flag to
Nucleus.Web.Vue\src\assets\images\icons\flags\your_country.png
. Get images from http://www.iconarchive.com/show/flag-icons-by-gosquared.html - Add language to language selection menu in
Nucleus\src\Nucleus.Web.Vue\src\account\account-layout.vue
andNucleus\src\Nucleus.Web.Vue\src\admin\components\menu\top-menu\top-menu.vue
like following
account-layout.vue
<v-menu>
<template v-slot:activator="{ on }">
<v-btn color="primary" dark outlined rounded v-on="on">
<img :src="require('@/assets/images/icons/flags/' + selectedLanguage.languageCode + '.png')" class="mr-2 ml-1" />
{{selectedLanguage.languageName}}
<v-icon dark class="ml-3">mdi-menu-down</v-icon>
</v-btn>
</template>
<v-list>
<v-list-item @click="changeLanguage('en', 'English')">
<img src="@/assets/images/icons/flags/en.png" class="mr-2" />
<v-list-item-title>English</v-list-item-title>
</v-list-item>
<v-list-item @click="changeLanguage('tr', 'Türkçe')">
<img src="@/assets/images/icons/flags/tr.png" class="mr-2" />
<v-list-item-title>Türkçe</v-list-item-title>
</v-list-item>
</v-list>
</v-menu>
top-menu.vue
<v-menu>
<template v-slot:activator="{ on }">
<v-btn color="primary" v-on="on">
<img :src="require('@/assets/images/icons/flags/' + selectedLanguage.languageCode + '.png')" class="mr-2 ml-1" />
{{selectedLanguage.languageName}}
<v-icon dark class="ml-3">mdi-menu-down</v-icon>
</v-btn>
</template>
<v-list>
<v-list-item @click="changeLanguage('en', 'English')">
<img src="@/assets/images/icons/flags/en.png" class="mr-2" />
<v-list-item-title>English</v-list-item-title>
</v-list-item>
<v-list-item @click="changeLanguage('tr', 'Türkçe')">
<img src="@/assets/images/icons/flags/tr.png" class="mr-2" />
<v-list-item-title>Türkçe</v-list-item-title>
</v-list-item>
</v-list>
</v-menu>
Adding New Permission
- All definitions are made in
DefaultPermissions
. - First add permission name as const like
public const string PermissionNameABC = "Permissions_ABC";
. - Add a permission entity that type
Permission.cs
class and give a hard-coded guid id. - Last, add this permission variable to
DefaultPermissions.All()
method.
Tags & Technologies
- ASP.NET Core Web API
- Entity Framework Core
- ASP.NET Core Identity
- JWT (Bearer Token) Based Authentication
- Automapper
- Serilog
- Swagger
- ASP.NET Core Test Host
- Authorization & Authentication
- Exception Handling & Logging
- Vue.js
- Vue Router
- Vuetify
- Vue i18n
Lincense
*Note that all licence references and agreements mentioned in the Nucleus README section above
are relevant to that project's source code only.