Bookie is a web application for writing daily journals.✍🏻, providing users with a platform to write, manage, and reflect on their daily experiences. The project serves as a practical exercise to test and enhance backend knowledge, specifically focusing on user authentication and cookies.
- HTML
- CSS
- EJS
- NodeJS
- MongoDB
- BcryptJS
- JWT
public/
: Contains static assets like stylesheets and images.views/
: Houses EJS files for dynamic rendering.routes/
: Manages routing and handles business logic for CRUD operations.models/
: Defines MongoDB schemas, including user data.
- User Authentication: Implemented using JWT and BcryptJS for enhanced security.
- Stack: Chose a stack of HTML, CSS, EJS, NodeJS, and MongoDB for a robust and scalable solution.
- Modular Structure: Organized code into distinct folders for maintainability.
app.js
: Entry point, initializes the server.routes/
: Handle routing and business logic.models/
: Defines MongoDB schemas.views/
: Contains EJS files for rendering different pages.
- Clone the repository.
- Run
npm install
to install dependencies. - Configure MongoDB connection in
app.js
. - Run
npm start
to start the server.
Feel free to explore, contribute, and share your thoughts on Bookie. Happy journaling!