Uma aplicação web para gerenciamento de livros com controle de acesso para usuários e administradores.
Nota: É necessário ter instalado o Node.js.
- Clone o repositório:
git clone https://github.com/seu-usuario/seu-repositorio.git
cd seu-repositorio
- Instale as dependências:
npm install
- Inicie o servidor Next.js:
npm run dev
-
Acesse: http://localhost:3000
-
Usuários padrão são:
- Admin -
[email protected]
/password123
- Usuário Comum -
[email protected]
/password123
- Next.js 15 (App Router)
- React com TypeScript
- TailwindCSS
- React Query + Server Actions
- JSON Server (Simulação de API REST)
- Next Theme (Modo Claro/Escuro)
- Shadcn/ui
- Login: E-mail e senha, com validação.
- Registro: Apenas usuários comuns podem se registrar.
- Admin Inicial: O primeiro usuário registrado é o administrador.
- Criação de Administradores: Apenas um admin pode promover outro usuário.
- Controle de Acesso: Usuários comuns podem visualizar livros, mas não editá-los.
- Listagem: Todos os usuários podem visualizar livros.
- CRUD (Somente Administradores): Criar, editar e remover livros.
- Detalhes do Livro: Exibição de informações individuais.
A aplicação suporta modo claro e escuro via Next Theme.
/components
→ Componentes reutilizáveis/contexts
→ Contexto de autenticação/app
→ Páginas e Server Actions/lib
→ Configuração do React Query
A web application for managing books with role-based access control for users and admins.
Note: you will need Node.js.
- Clone the repository:
git clone https://github.com/your-user/your-repository.git
cd your-repository
- Install dependencies:
npm install
- Run Next.js server:
npm run dev
-
Open: http://localhost:3000
-
Default users are:
- Admin -
[email protected]
/password123
- Regular User -
[email protected]
/password123
📌 Project Structure
/components
→ Reusable components/contexts
→ Authentication context/app
→ Pages and Server Actions/lib
→ React Query configuration
🚀 Technologies Used
- Next.js 15 (App Router)
- React with TypeScript
- TailwindCSS
- React Query + Server Actions
- JSON Server (Mock API)
- Next Theme (Dark/Light Mode)
- Shadcn/ui
- Login: Email and password with validation.
- Register: Only regular users can sign up.
- Initial Admin: The first registered user is the admin.
- Admin Creation: Only an admin can promote another user.
- Access Control: Regular users can view books but not edit them.
- Listing: All users can view books.
- CRUD (Admins Only): Create, edit, and delete books.
- Book Details: Display detailed information.
The app supports light and dark modes using Next Theme.