Skip to content

TwentyOneTeam/magang-pulogebang-vite

Repository files navigation

Sistem Informasi Magang

TwentyOne Logo

by TwentyOne Team

Alamat Kelurahan Pulo Gebang Website URL Vite TypeScript (TSX) MIT License

Front-end website for the Internship Information System at Kelurahan Pulo Gebang.


πŸ“š Language: English | Bahasa Indonesia


πŸ“‹ Table of Contents


πŸ“– About

magang-pulogebang-vite is a modern front-end application designed for the Internship Information System (Sistem Informasi Magang) of Kelurahan Pulo Gebang. Built with TypeScript and Vite, this project offers a fast and smooth development experience for both contributors and users. The system helps candidates easily register and track their internship applications in Kelurahan Pulo Gebang.


✨ Features

  • User-friendly registration and application process
  • Responsive UI design for mobile and desktop
  • Dashboard for applicants to monitor their application status
  • Integrated chatbot for instant support and information

πŸ› οΈ Tech Stack

Frontend:

  • TypeScript (TSX) (v5.9.3)
  • Vite (v7.2.4)
  • React (v18.3.1)
  • TailwindCSS (v4.1.17)

Backend:

  • Express.js (Node.js)
  • PostgreSQL (Database)
  • Gemini AI (Chatbot)

For in-depth backend documentation, see Backend README.


πŸ—οΈ System Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         FRONTEND (Vite + React + TypeScript)        β”‚
β”‚  - User Registration & Login                         β”‚
β”‚  - Application Dashboard                             β”‚
β”‚  - Chatbot Integration                               β”‚
β”‚  - Port: http://localhost:5173                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚ API Calls (JSON)
                       β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         BACKEND (Express.js + PostgreSQL)           β”‚
β”‚  - Authentication & Authorization                    β”‚
β”‚  - Application Management                            β”‚
β”‚  - Gemini AI Chatbot                                 β”‚
β”‚  - Port: http://localhost:3001                       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚              β”‚              β”‚
    β”Œβ”€β”€β”€β–Όβ”€β”€β”    β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”
    β”‚  DB  β”‚    β”‚ Gemini AI β”‚   β”‚  Email  β”‚
    β”‚ (PG) β”‚    β”‚    API    β”‚   β”‚ Service β”‚
    β””β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Getting Started

Follow these instructions to set up the project locally.

πŸ”Ž Prerequisites

πŸ’Ύ Installation

1. Clone Repository:

git clone https://github.com/TwentyOneTeam/magang-pulogebang-vite.git
cd magang-pulogebang-vite

2. Install Frontend Dependencies:

npm install
# or
yarn install

3. Setup Backend (see Backend README):

cd backend
npm install
cp .env.example .env
# Edit .env with your configuration
npm run init-db

πŸ’» Running Locally

Terminal 1 - Backend:

cd backend
npm run dev
# Backend server: http://localhost:3001

Terminal 2 - Frontend:

npm run dev
# Open browser: http://localhost:3000

πŸ“¦ Building for Production

npm run build
# or
yarn build

The optimized build output will be in the dist/ folder.


πŸ“‚ Project Structure

magang-pulogebang-vite/
β”œβ”€β”€ src/                          # Frontend code
β”‚   β”œβ”€β”€ components/               # React components
β”‚   β”œβ”€β”€ services/                 # API services
β”‚   β”œβ”€β”€ styles/                   # Global styles
β”‚   β”œβ”€β”€ App.tsx                   # Root component
β”‚   └── main.tsx                  # Entry point
β”œβ”€β”€ backend/                      # Backend code
β”‚   β”œβ”€β”€ config/                   # Configuration
β”‚   β”œβ”€β”€ controllers/              # Business logic
β”‚   β”œβ”€β”€ middleware/               # Express middleware
β”‚   β”œβ”€β”€ models/                   # Database models
β”‚   β”œβ”€β”€ routes/                   # API routes
β”‚   β”œβ”€β”€ uploads/                  # File uploads
β”‚   └── server.js                 # Entry point
β”œβ”€β”€ public/                       # Static assets
β”œβ”€β”€ README.md                     # Documentation (English)
β”œβ”€β”€ README.id.md                  # Documentation (Indonesian)
β”œβ”€β”€ vite.config.ts                # Vite configuration
β”œβ”€β”€ tsconfig.json                 # TypeScript configuration
└── package.json                  # Dependencies

πŸ“š Documentation


πŸ–ΌοΈ Screenshots

Home Page

Information Page


🀝 Contributing

Contributions are welcome! To contribute:

  1. Fork this repository
  2. Create a new branch (git checkout -b feature/your-feature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Push to the branch (git push origin feature/your-feature)
  5. Open a Pull Request

βš–οΈ License

This project is licensed under the MIT License. See LICENSE for more information.


πŸ™ Acknowledgements

Made with ❀️ by the TwentyOne Team!

About

Full-stack application for the Internship Program application process, including both front-end (website) and back-end services.

Resources

License

Stars

Watchers

Forks

Contributors