Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prathmeshshendarkar/careercraft
CareerCraft: Your Job Management Sidekick. Effortlessly create, update, and track jobs with personalized stats. Simplify your career management journey today!
https://github.com/prathmeshshendarkar/careercraft
express mongodb nodejs reactjs
Last synced: 3 days ago
JSON representation
CareerCraft: Your Job Management Sidekick. Effortlessly create, update, and track jobs with personalized stats. Simplify your career management journey today!
- Host: GitHub
- URL: https://github.com/prathmeshshendarkar/careercraft
- Owner: prathmeshshendarkar
- License: mit
- Created: 2024-06-07T21:39:51.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-06-07T21:48:20.000Z (8 months ago)
- Last Synced: 2024-11-15T20:18:33.241Z (2 months ago)
- Topics: express, mongodb, nodejs, reactjs
- Language: JavaScript
- Homepage: https://careercraft-ec8d.onrender.com/landing
- Size: 2.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
#### Setup
```bash
npm install && npm start
```#### Database Connection
1. Import connect.js
2. Invoke in start()
3. Setup .env in the root
4. Add MONGO_URI with correct value#### Routers
- auth.js
- jobs.js#### User Model
Email Validation Regex
```regex
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
```#### Register User
- Validate - name, email, password - with Mongoose
- Hash Password (with bcryptjs)
- Save User
- Generate Token
- Send Response with Token#### Login User
- Validate - email, password - in controller
- If email or password is missing, throw BadRequestError
- Find User
- Compare Passwords
- If no user or password does not match, throw UnauthenticatedError
- If correct, generate Token
- Send Response with Token#### Mongoose Errors
- Validation Errors
- Duplicate (Email)
- Cast Error#### Security
- helmet
- cors
- xss-clean
- express-rate-limitSwagger UI
```yaml
/jobs/{id}:
parameters:
- in: path
name: id
schema:
type: string
required: true
description: the job id
```