A simple, challenge-driven project for recording text-based notes utilizing the NEVM Stack. This application serves as a practical exercise to explore the capabilities of Vue.js and enhance Node.js backend skills.
This project is built using the NEVM Stack (Node, Express.js, Vue.js and Mongodb) components, along with modern web technologies
Follow these steps to get the application up and running on your local machine using Docker.
Ensure you have the following installed:
- Docker
- Docker Compose
-
Clone the repository:
git clone https://github.com/ernestoyoofi/notes-app.nevmstack.git cd notes-app.nevmstack -
Build the Docker image:
This command tags the built image for easy management.
docker build -t ernestoyoofi/notes-app.nevmstack .Or using image on Docker Hub
docker pull ernestoyoofi/notes-app.nevmstack:latest -
Configure Environment:
Open the
docker-compose.ymlfile and adjust any necessary environment variables for the NEVM connection (e.g., API keys, port mappings, etc.).nano docker-compose.yml # Or your preferred text editorversion: "3.8" services: database: image: mongodb/mongodb-community-server:8.2-ubi9 container_name: notes-app-nevmstack-mongodb restart: always environment: - "MONGODB_INITDB_ROOT_USERNAME=notes-appnevimstack" # PLEASE CHANGE - "MONGODB_INITDB_ROOT_PASSWORD=notes-appnevimstack" # PLEASE CHANGE volumes: - notes-app-nevmstack-mongodb:/data/db networks: - notes-app-nevmstack app: image: ernestoyoofi/notes-app.nevmstack:latest restart: always ports: # Exposes Port - 3002:80 environment: # Database (FOLLOWING STACK) - "MONGODB_URI=mongodb://notes-appnevimstack:notes-appnevimstack@database:27017/nevmstack-notes-app?authSource=admin" # PLEASE CHANGE # Server (REQUIRE) - "JSONWEBTOKEN_SECRET_KEY=TOKENTOKENTOKEN!!!" # PLEASE CHANGE # Google OAuth (REQUIRED) - "GOOGLE_CLIENT_ID=XXXXXXXX-XXXXXXX.apps.googleusercontent.com" # PLEASE CHANGE - "GOOGLE_CLIENT_SECRET=GOCS-XXXXXXXX" # PLEASE CHANGE - "GOOGLE_REDIRECT=http://localhost:3002/api/v1/oauth/callback" # > URL Proxy Backend # PLEASE CHANGE networks: - notes-app-nevmstack volumes: notes-app-nevmstack-mongodb: networks: notes-app-nevmstack:
-
Run the application with Docker Compose:
The
-dflag runs the containers in detached (background) mode.docker compose up -d
-
Access the application:
Open your web browser and navigate to the specified URL (usually
http://localhost:[PORT], check yourdocker-compose.ymlfor the port).
This project was developed primarily as a personal challenge and a learning opportunity to:
- Deeply understand and integrate with the NEVM Stack.
- Improve proficiency in building single-page applications with Vue.js.
- Refine backend development skills using Node.js/Express.
No license on this project, you can use it freely.