Aplikasi satu halaman tunggal yang sepenuhnya responsif menggunakan MERN Stack! ?
Teknologi digunakan
Bereaksi
Node
Mongo DB
Cepat
Redux
Redis
Bersenda gurau
Database digunakan
Mongo
Redis
Memulai
Kloning repo ke lingkungan lokal Anda, Anda harus menginstal semua dependensi untuk backend dan frontend.
Untuk backend, buka folder backend (backend cd) dan jalankan npm i
Instal MongoDB
Atau, Anda dapat menggunakan situs web ini
Tambahkan variabel lingkungan Anda
Buat file .env di direktori root folder backend dan tambahkan token Anda di sana sehubungan dengan variabel file konfigurasi.
Access_token_secret = "beberapa rahasia"
Access_token_life = waktu
Refresh_token_secret = "beberapa rahasia"
Refresh_token_life = waktu
Sendgrid_key = ""
Mongo_database = ""
OAuth2Client = ""
Stripe_secret_token = ""
Redis_host = ""
Redis_password = ""
Redis_port = ""
Catatan: Pastikan variabel file .env cocok dengan file konfigurasi seperti gambar di bawah ini.
Untuk frontend, buka folder frontend (cd front-end) dan jalankan npm i
Untuk menjalankan lingkungan pengembangan, Anda dapat menggunakan perintah npm start . Ini akan memulai server web pengembangan di port 3000 untuk Frontend, dan server API yang ditonton nodemon di port 8080.
Catatan: Anda harus melakukan NPM Start untuk backend dan frontend secara terpisah.
Pengujian unit
Anda dapat menguji backend, ungkapkan titik akhir menggunakan perintah (tes NPM)
Docker menyusun
Klon Coursera Dockerised dan Docker Hub Repository dapat ditemukan di sini https://hub.docker.com/repository/docker/ayushverma/coursera/general
Jika Anda menggunakan Docker dan Docker Compose, Anda dapat memulai seluruh proyek dengan:
docker-compose up
? Fitur
Murid
Sistem otentikasi dengan pendaftaran, login, verifikasi OTP, Resend OTP, lupa kata sandi (sepenuhnya divalidasi dengan peringatan bootstrap)
Google Authentication (OAuth2) Menggunakan React-Google-Login dan Google Auth-Library
Gateway pembayaran stripe terintegrasi dengan backend untuk membeli kursus
Toko redux untuk dengan mudah mengelola negara bagian
Beranda dengan kursus yang diambil dengan kategoris
Kursus yang disarankan berdasarkan preferensi pengguna
Peringkat kursus
Kursus yang ditandai di mana pengguna dapat menghapus atau menambahkan bookmark
Download Resourses (PDF - Notes)
Pemutar video bereaksi responsif untuk video
Bilah kemajuan
Coursepage dengan semua konten kursus
Mencari berdasarkan kursus dan guru
Kelas Grup Langsung Waktu Nyata
Guru
Sistem otentikasi yang tepat dengan pendaftaran, login, verifikasi OTP, ulang OTP, lupa kata sandi (sepenuhnya divalidasi dengan peringatan bootstrap)
Formulir Pengunggahan Guru yang Divalidasi Sepenuhnya dengan Deskripsi, Judul, Gambar, dan Detail Lainnya
Ckeditor untuk menulis di TextBox dengan kemampuan untuk menambahkan judul yang berbeda, paragraf, tebal, huruf miring, tautan, tabel, ukuran dll
Guru dapat mengunggah hingga 5 video dengan bilah unggahan untuk menunjukkan kemajuan
Guru dapat melihat kursus yang diunggah
Guru dapat menghapus kursus mereka
Guru dapat mengedit kursus mereka
Menguji menggunakan Jest and Supertest untuk titik akhir ekspres.
Kelas Grup Langsung Waktu Nyata Menggunakan Socket.io dan Dioptimalkan dengan Redis untuk Pesan Caching