Aplikasi Untern – Sistem Pencarian dan Manajemen Magang Berbasis Web dengan React dan Node.js menggunakan PostgreSQL. Proyek ini mendukung pendaftaran mahasiswa & perusahaan, unggah dokumen, posting internship, dan melamar magang secara online.
Aplikasi sudah dapat diakses di:
👉 untern.eeja.site
- Fitur
- Teknologi
- Struktur Proyek
- Instalasi
- Konfigurasi
- API Endpoints
- Dokumentasi Tambahan
- Kontribusi
- Lisensi
- Registrasi, login, dan verifikasi akun
- Kelola profil, upload foto profil
- Upload resume & daftar skills
- Apply internship dan cek status aplikasi
- Registrasi & login akun perusahaan
- Kelola profil perusahaan & upload logo
- Posting internship baru
- Lihat daftar aplikasi mahasiswa
- JWT (JSON Web Token) untuk login
- Verifikasi email & nomor HP
- Proteksi route dengan middleware
- Resume mahasiswa
- Logo perusahaan
- Foto profil user
- Dokumen internship
| Bagian | Teknologi Utama |
|---|---|
| Frontend | React 18, Vite, React Router, Redux Toolkit, Axios, Recharts, Lucide React |
| Backend | Node.js, Express.js, Multer |
| Database | PostgreSQL |
| Autentikasi | JWT, middleware custom |
| Build Tool | Vite, ESLint |
untern-internship-project/
├── client/ # Frontend (React + Vite)
│ ├── src/
│ │ ├── App.jsx
│ │ ├── main.jsx
│ │ ├── index.css
│ │ ├── assets/ # gambar & ikon
│ │ └── components/ # komponen halaman (auth, dashboard, dll)
│ ├── public/
│ ├── package.json
│ └── vite.config.js
│
└── server/ # Backend (Node.js + Express + PostgreSQL)
├── server.js
├── config/
│ └── database.js
├── middleware/
│ └── auth.js
├── routes/
│ ├── auth.js
│ ├── studentProfile.js
│ ├── studentApplications.js
│ ├── studentResume.js
│ ├── studentSkills.js
│ ├── studentPhoneVerification.js
│ ├── companyProfile.js
│ ├── companyInternships.js
│ ├── companyApplications.js
│ └── emailVerification.js
├── uploads/
│ ├── logos/
│ ├── profile-pictures/
│ ├── resumes/
│ └── internship-documents/
├── response.js
├── queryDB.txt
├── package.json
└── package-lock.json
git clone https://github.com/Eeja07/untern-internship-project.git
cd untern-internship-projectcd server
npm installcd ../client
npm installBuat file .env di folder server/:
PORT=5000
DB_HOST=localhost
DB_USER=root
DB_PASS=yourpassword
DB_NAME=untern_db
JWT_SECRET=your_secret_keycd server
npm startAkan berjalan di http://localhost:5000
cd client
npm run devAkan berjalan di http://localhost:5173
POST /api/auth/register→ Registrasi userPOST /api/auth/login→ Login (JWT)POST /api/auth/verify-email→ Verifikasi emailPOST /api/auth/verify-phone→ Verifikasi nomor HP
GET /api/student/profilePUT /api/student/profilePOST /api/student/resumePOST /api/student/skillsGET /api/student/applicationsPOST /api/student/applications
GET /api/company/profilePUT /api/company/profilePOST /api/company/internshipsGET /api/company/internshipsGET /api/company/applications
- Resume →
/uploads/resumes/ - Logo →
/uploads/logos/ - Foto profil →
/uploads/profile-pictures/ - Dokumen internship →
/uploads/internship-documents/
queryDB.txt→ berisi catatan query SQL & struktur tabelresponse.js→ format standar JSON responseuploads/→ folder penyimpanan fileeslint.config.js→ aturan linting frontend
- Fork repository
- Buat branch
feature/nama-fitur - Commit perubahan
- Push branch
- Ajukan Pull Request
MIT License © 2025