Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Lighthouse

Lighthouse adalah proyek yang dirancang untuk mengelola dan menganalisis data dengan efisien. Proyek ini ditulis dalam JavaScript dan bertujuan untuk menyediakan fungsionalitas dasar dalam pengolahan data.

## Fitur

- **Simpan dan Muat Data**: Menggunakan fungsi untuk menyimpan dan memuat data dalam format JSON.
- **Integrasi dengan Firebase**: Mendukung autentikasi pengguna dan penyimpanan data di Firebase.
- **Antarmuka Pengguna Sederhana**: Menyediakan antarmuka pengguna dasar untuk interaksi.

## Prasyarat

Sebelum memulai, pastikan Anda telah menginstal:

- [Node.js](https://nodejs.org/) (versi terbaru)
- [NPM](https://www.npmjs.com/) (biasanya diinstal bersama Node.js)
- [Firebase](https://firebase.google.com/) (jika menggunakan fitur Firebase)

## Instalasi

Ikuti langkah-langkah berikut untuk menginstal dan menjalankan proyek ini:

1. Clone repositori ini ke mesin lokal Anda:
```bash
git clone https://github.com/mone-app/lighthouse.git
cd lighthouse
```

2. Jalankan perintah berikut untuk menginstal dependensi:
```bash
npm install
```

3. Untuk menjalankan aplikasi:
```bash
npm start
```

## Pengembangan

Jika Anda ingin berkontribusi pada proyek ini, silakan lakukan hal berikut:

1. Buat branch baru untuk fitur atau perbaikan Anda:
```bash
git checkout -b namafitur
```

2. Lakukan perubahan dan commit:
```bash
git commit -m "Menambahkan fitur baru"
```

3. Kirim pull request ke branch utama.

## Dokumentasi

Untuk informasi lebih lanjut, kunjungi [dokumentasi resmi](https://link-ke-dokumentasi) atau baca file yang ada di dalam folder `docs`.

## Pengujian

Untuk menjalankan pengujian unit:
```bash
npm test
```

## Lisensi

Proyek ini dilisensikan di bawah [Lisensi MIT](LICENSE).
21 changes: 21 additions & 0 deletions functions/dataManager.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// functions/dataManager.js

const fs = require('fs');

// Fungsi untuk menyimpan data ke file
function saveData(filename, data) {
fs.writeFileSync(filename, JSON.stringify(data, null, 2));
console.log(`Data saved to ${filename}`);
}

// Fungsi untuk mengambil data dari file
function loadData(filename) {
const data = fs.readFileSync(filename);
return JSON.parse(data);
}

// Ekspor fungsi
module.exports = {
saveData,
loadData
};
12 changes: 12 additions & 0 deletions functions/dataManager.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// functions/dataManager.test.js
const { saveData, loadData } = require('./dataManager');

test('saves and loads data correctly', () => {
const testData = { name: "Test", value: 42 };
const filename = 'testData.json';

saveData(filename, testData);
const loadedData = loadData(filename);

expect(loadedData).toEqual(testData);
});
33 changes: 33 additions & 0 deletions functions/fireConfig.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// functions/firebaseConfig.js

const firebase = require("firebase/app");
require("firebase/auth");

// Konfigurasi Firebase Anda
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "YOUR_PROJECT_ID.firebaseapp.com",
projectId: "YOUR_PROJECT_ID",
storageBucket: "YOUR_PROJECT_ID.appspot.com",
messagingSenderId: "YOUR_SENDER_ID",
appId: "YOUR_APP_ID"
};

// Inisialisasi Firebase
firebase.initializeApp(firebaseConfig);

// Fungsi untuk mendaftar pengguna baru
function registerUser(email, password) {
return firebase.auth().createUserWithEmailAndPassword(email, password);
}

// Fungsi untuk login pengguna
function loginUser(email, password) {
return firebase.auth().signInWithEmailAndPassword(email, password);
}

// Ekspor fungsi
module.exports = {
registerUser,
loginUser
};
19 changes: 19 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!-- index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lighthouse App</title>
</head>
<body>
<h1>Welcome to Lighthouse App</h1>
<form id="dataForm">
<label for="dataInput">Input Data:</label>
<input type="text" id="dataInput" required>
<button type="submit">Save Data</button>
</form>

<script src="app.js"></script>
</body>
</html>