aboutsummaryrefslogtreecommitdiffstats

StuDirect - API

StuDirect is a Tinder-like web application that matches students and companies for the Career Launch.
The application was developed as part of the programming project and offers a pleasant user experience, modern technologies and features such as swiping, chatting and profiles.

StuDirect UI


Features

  • Swipe functionality to match students and companies
  • Real-time chat between matched parties
  • Student profiles with interests, field of study and a CV
  • Company profiles with internships, job openings, location and general information
  • Admin panel for managing students, companies and logs
  • Email verification and password reset
  • Skill matching between students and companies
  • RESTful API, JSON responses, rate limiting
  • Separate versions for mobile, desktop and admin

Laravel CI


Tech Stack

  • Laravel (PHP framework)
  • Laravel Sanctum (API authentication & RBAC)
  • Eloquent ORM
  • PHPUnit
  • MySQL database
  • Mailtrap (email testing)
  • RESTful API, JSON
  • CI via GitHub Actions

Installation

  1. Clone the repository
git clone https://github.com/nasrlol/studirect-api
cd studirect-api/source
  1. Install the Composer dependencies
composer install
  1. Configure .env
cp .env.example .env

Fill in your database credentials, Mailtrap settings and other environment variables in .env.

  1. Generate the app key
php artisan key:generate
  1. Migrate and seed the database
php artisan migrate:fresh --seed
  1. Start the server
php artisan serve

Using the API

See the API documentation for all endpoints, authentication and usage examples.

  • Authentication: via Laravel Sanctum tokens (Bearer); log in via /api/students/login, /api/companies/login or /api/admins/login
  • Rate limiting: 300/min (default), 500/min for intensive endpoints (appointments, connections, skills)
  • All responses are JSON
  • See routes/api.php for the complete overview and current endpoints.

Running the tests

php artisan test

Main Directories

  • /source/app/Http/Controllers/Api/ – all API controllers
  • /source/routes/api.php – API routes
  • /source/app/Models/ – model logic
  • /source/database/seeders/ – seeder data for test accounts

Security & Best Practices

  • Input validation, CSRF, XSS and SQL injection prevention, RBAC via policies/gates
  • Rate limiting on all routes

Learn more


© 2025 StuDirect — The API for the Career Launch.