Dev Jobs Elixir is a modern job board application built with Elixir and Phoenix LiveView. It provides a seamless, real-time experience for both job seekers and employers. Users can create, read, update, and delete (CRUD) job listings through a secure authentication system using magic links sent via email. The platform features advanced search capabilities and a responsive, user-friendly interface.
- Backend: Elixir ⚗️ with Phoenix LiveView for real-time updates
- Frontend: Tailwind CSS with custom animations and responsive design
- Database: PostgreSQL with Ecto as ORM
- Authentication: Secure magic link system via Resend Email API
- Testing: ExUnit for comprehensive test coverage
- Build Tool: Mix (Elixir's build tool)
- Real-time Features: Phoenix PubSub for live updates
- Elixir (version 1.12 or higher)
- Erlang OTP (version 24 or higher)
-
Clone the repository
git clone https://github.com/MmmarRTha/dev_jobs_elixir.git cd dev_jobs_elixir
-
Install dependencies
mix deps.get
-
Set up the database
mix ecto.setup
-
Start the Phoenix server
mix phx.server
-
Run tests
mix test
Visit http://localhost:4000 in your browser to see the application running.
Note
- Real-time Search: Dynamic search functionality for jobs by title, company, or keywords
- Infinite Scroll: Seamlessly browse through job listings with automatic loading
- Responsive Design: Optimal viewing experience across all devices
- Secure Authentication: Simple and secure sign-in via magic link email
- Job Management: Create, edit, and delete job listings with ease
- Personal Dashboard: Track and manage all your job postings in one place
- Real-time Updates: Instant notifications when new jobs are posted
- Performance Optimized: Fast loading and smooth interactions
- Modern UI: Clean, intuitive interface with animations and visual feedback
# Minimum versions required
Elixir 1.12+
Erlang OTP 24+
PostgreSQL 12+
Node.js 16+ (for asset compilation)
-
Clone and install dependencies
git clone https://github.com/MmmarRTha/dev_jobs_elixir.git cd dev_jobs_elixir mix deps.get
-
Configure environment
- Copy
.env.example
to.env
(if exists) - Set up your database credentials
- Configure your Resend API key for email functionality
- Copy
-
Set up the database
mix ecto.setup # Creates, migrates, and seeds the database
-
Start the development server
mix phx.server # Starts the Phoenix server
Visit http://localhost:4000
to start using the application locally.
Run the test suite with:
mix test # Run all tests
mix test --cover # Run tests with coverage report
mix test.watch # Run tests in watch mode (requires mix test.watch)