Skip to content

jordanopensource/community-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

597 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JOSA Community

Community Web

The community hub for Jordan Open Source Association

Build Status Nuxt 4 Tailwind CSS License

Quick StartFeaturesDevelopmentContributing


📖 About

Community Web is the frontend application for the JOSA Community Portal — a platform that connects open source enthusiasts, tracks contributions, and fosters collaboration within the Jordanian tech community.

Built With

Technology Purpose
Nuxt 4 Vue.js Framework
Tailwind CSS Utility-first CSS
nuxt-auth Authentication
nuxt-api-party API Integration

⚡ Quick Start

Using Docker Compose (Recommended)

The fastest way to get up and running. Make sure you have Docker installed.

1. Start the API first (required dependency):

cd community-api
cp .env.example .env  # Configure your environment variables
docker compose up -d

2. Start the web frontend:

cd community-web
cp .env.example .env  # Configure your environment variables
docker compose up

3. Open your browser at http://localhost:3000

Note: The web service depends on community-api_default network. Ensure the API is running before starting the web container.


🛠 Development

Prerequisites

Local Setup

# Clone the repository
git clone https://github.com/jordanopensource/community-web.git
cd community-web

# Install dependencies
npm install

# Configure environment
cp .env.example .env
# Edit .env with your settings

# Start development server
npm run dev

Visit http://localhost:3000 to see the app.

Available Scripts

Command Description
npm run dev Start development server with hot-reload
npm run build Build for production
npm run start Launch production server

Production Build

# Build the application
npm run build

# Start the production server
npm run start

See the Nuxt deployment documentation for more deployment options.


🏗 Project Structure

community-web/
├── app/
│   ├── components/    # Vue components
│   ├── composables/   # Composable functions
│   ├── middleware/    # Route middleware
│   ├── pages/         # File-based routing
│   └── assets/        # Styles and fonts
├── public/            # Static assets
├── server/
│   ├── api/           # Server API routes
│   └── utils/         # Server utilities
└── nuxt.config.ts     # Nuxt configuration

🗺 Roadmap

See the open issues for proposed features and known issues.


🤝 Contributing

Contributions make the open source community amazing! We welcome all contributions.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Please read our Contributing Guide for more details.


📄 License

Distributed under the Apache License 2.0. See LICENSE for details.


📬 Contact

Jordan Open Source Association


Built with ❤️ by the JOSA community

About

Web client for josa.community

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8