This is a full-stack Book Management Application built using the MEN (MongoDB, Express.js, Node.js) stack. The application allows users to sign up, log in, and manage a personal collection of books (create, read, update, delete).
- User authentication (sign up / sign in)
- Add and update books with images
- View book details
- Delete books
- Protected user pages
- Backend: Node.js, Express.js
- Database: MongoDB
- Templating: EJS (currently)
- Frontend: Being migrated to React
bookapp/ ├── backend/ │ ├── models/ │ ├── routes/ │ ├── controllers/ │ └── index.js ├── frontend/ │ └── (React app here) ├── views/ │ └── (EJS templates)
We're currently transitioning the frontend from EJS templates to a modern React.js application.
- Backend API routes are working
- MongoDB models and image upload system is functional
- Login page built in React (under testing)
- Migrating all EJS pages to React components
- Connecting React with Express APIs
- Handling routing (React Router)
- Managing user sessions/token-based auth
If you're experienced with React or want to learn by doing, contributions are welcome!
- Fork the repo
- Create a new branch:
git checkout -b migrate-ejs-to-react - Help convert EJS views to React components
- Submit a pull request!
Feel free to raise an issue if you need clarification on any part of the codebase.
# Backend
cd backend
npm install
npm run dev # or nodemon index.js
# Frontend (React)
cd frontend
npm install
npm start