Skip to content

Latest commit

 

History

History
79 lines (53 loc) · 3.27 KB

README.en.md

File metadata and controls

79 lines (53 loc) · 3.27 KB

Newsletter · Runtime: NodeJs Language: Javascript Framework: Nuxt

Leia em Português

🔗 Table of Contents

  1. The Study
  2. Technologies
  3. Project Structure
  4. Styling
  5. Getting Started
  6. Pages
  7. License

📙 The Study

The Newsletter application was developed alongside its API to strengthen knowledge of JavaScript/TypeScript and learn new technologies such as Vue and Gemini, Google's artificial intelligence. Additionally, it served as a starting point for other concepts such as OOP and Design Patterns, specifically the Singleton design pattern used in the instances of the ORM and the Cron tool (both in the API).

💻 Technologies

🗂️ Project Structure

📦 root
├── 📁 components       # Contains the application components
├── 📁 layouts          # Contains the page templates used in routes
├── 📁 middleware       # Contains the configuration for user authentication middlewares
├── 📁 pages            # Contains the routing configurations of the application
├── 📁 plugins          # Contains the configurations for additional plugins
├── 📁 store            # Contains the stores with the application's global states and methods for data manipulation

💡 Styling

To style the application, the Vuetify library was used, which is based on Google's Material Design. Almost all elements of the application are derived from pre-existing Vuetify components, including their styles and other aspects like accessibility.

🚀 Getting Started

# Clone the project

git clone https://github.com/vinicioscst/newsletter-vue.git

# Install dependencies

npm install

# Create the .env file and fill in the correct data

BASE_URL=            # Insert your API URL here. Example: http://localhost:3000

# Run the application

npm run dev

Warning

To access and manage the news, remember to create a user via the API.

🔗 Pages

├── 🔗 /                         # Home page, where the most recent news is displayed.# You can search for news by title or topic, and sort by date or alphabetical order.
├── 🔗 /articles                 # Typically accessed after a search, filtering news through query params.
├── 🔗 /login                    # Contains the form for the admin user login.
├── 🔗 /admin                    # User dashboard where you can create, view, edit, and delete news articles.
│   ├── 🔗 /admin/settings       # User settings, allowing changes to name, email, and/or password.

License

This project is under the MIT license.

Footnotes

  1. Version 14.x or 16.x is recommended.