Basic realtime attendance monitoring built with React and Phoenix.
- User can start and end a session to track their work hours
- Admin can track user attendance sessions in realtime
- Admin and user can view monthly total work hours summary
- Admin can manage users
- Install postgreSQL
git clone https://github.com/enjinil/attnd.git
- Create
frontend/.env
and pastefrontend/.env.sample
content - Setup api
cd api && mix ecto.create && mix ecto.migrate
- Setup frontend
cd frontend && npm install
- Seed example data (optional)
- Create admin user
[email protected]
and insert other example data.
- Create admin user
cd api
ADMIN_PASSWORD="anypassword123456" mix run priv/repo/seeds.exs
- Start the app
cd api && mix phx.server
cd frontend && npm run dev
- Setup development environment
- Start the api
cd api && mix phx.server
- Start the frontend client
cd frontend && npm run dev
- Run e2e tests
cd frontend && npm run e2e
The following are things that are necessary but not covered yet
The components have not yet implemented ARIA attributes for accessibility purposes.
Currently, the application relies solely on end-to-end tests to verify API and frontend functionality. However, many scenarios remain untested. Component integration tests can serve as an alternative for testing edge cases that are too expensive to validate through e2e testing. Unit tests would help verify that each component functions correctly and facilitate easier problem identification.