Skip to content

Commit

Permalink
chore: Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
sjdonado authored Apr 1, 2024
1 parent de3591c commit fad5ba9
Showing 1 changed file with 49 additions and 11 deletions.
60 changes: 49 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,53 @@
# Remix Dashboard
> MVP of a Learning Management System built with remix + vite, drizzle + better-sqlite3, and tailwindcss + daisyui.
<img width="1728" alt="image" src="https://github.com/sjdonado/remix-dashboard/assets/27580836/c6fdcb37-0c95-41e1-bdb1-ee79db335714">
| Admin | Teacher | Student |
|------------|--------------|--------------|
| <img width="1840" alt="Screenshot 2024-04-01 at 22 21 55" src="https://github.com/sjdonado/remix-dashboard/assets/27580836/099a8a3e-8ec7-43e3-8789-737f61796aba"> | <img width="1840" alt="Screenshot 2024-04-01 at 22 23 20" src="https://github.com/sjdonado/remix-dashboard/assets/27580836/6c44363f-eaa5-4f49-87f8-c80924153967"> | <img width="1840" alt="Screenshot 2024-04-01 at 22 24 04" src="https://github.com/sjdonado/remix-dashboard/assets/27580836/b5513b02-fe8d-4594-8736-0c39d6f24793"> |

## Features
### Requirements
- Assignments have status (`OPEN`, `CLOSED`) and type (`HOMEWORK`, `QUIZ`, `PROJECT`)
- Users have roles (`ADMIN`, `TEACHER`, `STUDENT`)
- User login with multiple roles
- Admin role should CRUD users and assignments
- Teacher role should CRUD only their own assignments
- Student role should list all assignments
- Admin, Teacher, Student should be able to view and edit their profiles

- Log in and sign up.
- The admin can CRUD all users and assignments.
- The teacher can CRUD their own assignments.
- Students can view all assignments.
- All users can view and edit their profiles.
- Responsive tables + toasts.
- Tables with pagination and search.
- Forms validations with zod.
- Dark mode :)
### Non-functional requirements
- primary keys with randomUUID + on delete cascade
- Session storage (cookies)
- Authentication + Authorization (RBAC) middleware
- Schema validations with Zod
- Responsive tables with filters + search box + pagination
- Responsive sidebar
- Confirmation dialogs
- Logging with Pino
- e2e testing with Playwright
- Toast with sooner
- Optimistic UI (update assignment status)
- Dark mode

## Comming soon (v2.0)
- [ ] Assignments like button
- [ ] Assignments comments thread: create/read by any role, udpate/delete by their owner
- [ ] Statistics page: display total number of user and assignments, and comments

## Self hosted
Deploy with dokku
```bash
dokku apps:create remix-dashboard
dokku domains:set remix-dashboard remix-dashboard.preview.donado.co
dokku letsencrypt:enable remix-dashboard

dokku config:set remix-dashboard DATABASE_URL=./sqlite/db.sqlite SECRET_KEY={YOUR_SECRET}

dokku ports:add remix-dashboard http:80:3000
dokku ports:add remix-dashboard https:443:3000

dokku storage:ensure-directory remix-dashboard-sqlite
dokku storage:mount remix-dashboard /var/lib/dokku/data/storage/remix-dashboard-sqlite:/usr/src/app/sqlite/

dokku run remix-dashboard db:push
dokku run remix-dashboard db:seed all
```

0 comments on commit fad5ba9

Please sign in to comment.