This is a developper test by umanni. A responsive user management system. Main features:
- Admin dashboard: a stats from all users grouped by role
- User management (CRUD): admins can create, read, update and delete any user
- Profile management: Regular users can CRUD their own profile
- CSV import: Admins can bulk import new users via CSV files.
Versions used in this project
| System | Version Command | Version |
|---|---|---|
| ruby | ruby -v |
3.4.5 |
| rails | rails -v |
8.0.4 |
| redis/valkey | redis-cli -v |
valkey-cli 8.1.4 |
| postgreSQL | psql -V |
18 |
| tailwind | npm view tailwindcss version |
4.1.16 |
| node | node -v |
v25.1.0 |
Clone or download this repo
git clone git@github.com:vitaoTM/Fullstack-Developer.git
cd Fullstack-Developer
Get Started with Docker
- Build and Run the app
docker-compose build
docker-compose up -d
- Set up database
docker-compose exec web bin/rails db:setup
- Create admin User
You'll need to create the first user via rails console
# Start the console:
docker-compose exec web bin/rails console
# inside the console, run:
u = User.create(full_name: "Adim User", email: "admin@admim.com", password: "password123", password_confirmation: "password123")
u.admin!
u.save
# To exit rails console type:
exit
- Access the app
The application should be runnig:
- Check:
http://localhost:3000 - Log in with the credentials you just created.
- Stopping the application
To stop all running Docker containers:
Get Started Locally
To run locally please check:
- Ruby version file:
.ruby-version - Rails: see
Gemfile - PostgreSQL: Must be installed and runnig.
- Node & Yarn: Make sure its all installed.
- Setup Database and install gems and JS packages
bundle install
yarn install
bin/rails db:create db:migrate
- Create Admin User
-
Create admin user, must be done through rails console:
-
Do not forget to change your credentials:
rails console
# You will enter rails console:
# run:
# This will create a admin user if you do not read this and only copy and paste to your terminal (you can delete this line)
adm = User.create(full_name: "Admin", email: "admin@admin.com", password: "123456", password_confirmation: "123456")
adm.admin!
u = User.create(full_name: "ADD YOU NAME HERE", email: "ADD YOUR EMAIL HERE", password: "SET A PASSWORD", password_confirmation: "CONFIRM YOUR PASSWORD")
u.admin!
exit
- Run The App
-
Access the app at
http://localhost:3000 -
To exit server just press Ctrl-C
- Run Tests (Local):