Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/enes9103/mern_tutorial_auth
https://github.com/enes9103/mern_tutorial_auth
authentication-backend authentication-service bycryptjs cors-request expressjs mongodb moongose nodemoon reactbootstrap reactjs
Last synced: 9 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/enes9103/mern_tutorial_auth
- Owner: enes9103
- Created: 2023-07-21T20:44:22.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-24T09:43:21.000Z (over 1 year ago)
- Last Synced: 2024-05-01T16:35:14.035Z (7 months ago)
- Topics: authentication-backend, authentication-service, bycryptjs, cors-request, expressjs, mongodb, moongose, nodemoon, reactbootstrap, reactjs
- Language: JavaScript
- Homepage:
- Size: 326 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Server Kurulumu ve MongoDB Bağlantısı
1. Proje oluşturma:
- `npm init` komutu ile projenizi oluşturun.
- Ana dosyanızı (örn: index.js) oluşturun ve package.json içinde main olarak belirtin.2. .env Dosyası:
- Projenizin root dizinine .env dosyası oluşturun ve ortam değişkenlerini burada saklayın.3. MongoDB Bağlantısı:
- MongoDB'ye giriş yapıp bir database oluşturun.
- Oluşturduğunuz database'in bağlantı bilgisini .env dosyasında saklayın.
- MongoDB Atlas'ta kullanıcı oluşturup yetki vererek bağlantı için kullanıcı bilgilerini .env dosyasında tutun.4. Express ve diğer paketler:
- `npm i express` komutu ile Express paketini yükleyin.
- `npm i mongoose` komutu ile MongoDB bağlantısı için Mongoose paketini yükleyin.
- İsteğe bağlı olarak geliştirme sırasında canlı değişiklikler için `npm i nodemon --save-dev` komutu ile nodemon paketini yükleyin.5. Express ve MongoDB Bağlantısı:
- Oluşturduğunuz .env dosyasını import edin ve `dotenv.config()` ile kullanın.
- Express uygulamasını oluşturup istediğiniz portta dinlemek için `app.listen(PORT, () => { ... })` kullanın.
- MongoDB bağlantısı için `mongoose.connect(process.env.DB_CONNECTION_STRING)` şeklinde bağlantı yapın.6. Models:
- Models klasörü altında oluşturacağınız dosyalarda mongoose Schema ile veritabanı alanlarınızı tanımlayın.
- Model oluşturarak Schema ve bağlantı ile ilgili işlemleri gerçekleştirin.7. Routers:
- Router oluşturarak farklı endpointleri ayrı dosyalarda tanımlayın.
- Endpointlere gelen istekleri kontrol ederek ilgili işlemleri gerçekleştirin.## Express Uygulaması ve Routers
1. Express Uygulaması:
- Express paketini import edin: `import express from "express";`.
- Express uygulamasını oluşturun: `const app = express();`.
- Middleware kullanımı için `app.use()` ile express.json() ekleyin.2. Router Oluşturma:
- Router için yeni bir dosya oluşturun: `userRouter.js`.
- Express'ten router'ı çağırın: `const router = express.Router();`.3. Router ve Endpoint Tanımlama:
- Router içinde farklı endpointlere ve HTTP metodlarına göre işlemler tanımlayın.
- Örneğin, router.post('/signup', (req, res) => { ... }) ile POST isteğine göre signup işlemlerini tanımlayın.
- İlgili işlemleri gerçekleştirip istemciye dönecek verileri `res` nesnesi ile gönderin.
- Router'ı ana uygulamaya bağlamak için `app.use()` ile endpoint prefix'ini belirleyin (örn: '/users').## Diğer Notlar
- `.env` dosyasında ortam değişkenlerini saklayın ve `dotenv.config()` ile kullanın.
- MongoDB bağlantısı için MongoDB Atlas kullanabilirsiniz.
- Express uygulamasını belirlediğiniz bir portta dinleyerek sunucu başlatın (örn: `app.listen(PORT, () => { ... })`).
- Models klasöründe veritabanı şemalarınızı tanımlayın ve bu şemaları modele çevirerek MongoDB ile etkileşime geçin.
- Routers klasöründe farklı endpointlere göre işlemleri tanımlayın ve bu routerları ana uygulamaya bağ
- Projedeki CORS policy yönetmek için cors paketi kuruyoruz. (npm i cors) Bu paket sayesinde her originden gelen istekleri kabul edebiliriz. örn: app.use(cors()); veya örn: app.use(cors({origin: 'http://localhost:3000'}));