Skip to content

Commit f39cf91

Browse files
edit readme, add categories in some event related get handlers
1 parent 275ee68 commit f39cf91

File tree

6 files changed

+33
-97
lines changed

6 files changed

+33
-97
lines changed

README.md

Lines changed: 27 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -1,115 +1,45 @@
11
# Uranus
22

3-
**Digitally Mapping and Sharing the Event Landscape**
3+
**Uranus** is a flexible, open-source event management platform designed to organize, schedule, and promote cultural activities. It empowers non-profits and grassroots organizations to manage events, venues, and organizers in a structured way, providing accessible, high-quality data via a robust API.
44

5-
> 🚧 Disclaimer: This repository and the associated database are currently in **beta**. Some parts of the code and data may still contain errors. Please [open an issue](#) or contact us via email if you encounter any problems.
5+
# Key Features
66

7-
---
7+
- **Structured Event Data** – Organize events, venues, and spaces with detailed metadata, including accessibility info and geospatial data for precise location mapping and spatial queries.
8+
- **Flexible API** – Access and integrate event data via standardized HTTP endpoints.
9+
- **Support for Nonprofits** – Tailored for smaller cultural and civic organizations that need digital infrastructure.
10+
- **Inclusive Values** – Supports diversity, minority representation, gender equality, and sustainability.
11+
- **Open Source** – Reuse, modify, and redistribute freely under a permissive license.
812

9-
## Introduction
1013

11-
**Uranus** aims to create a detailed and flexible representation of the event landscape, making it easier to create, maintain, publish, and share high-quality event data.
14+
# Building Blocks
1215

13-
The database models:
14-
- **Venues**: Physical locations of events
15-
- **Spaces**: Descriptions of rooms or sub-locations within venues
16-
- **Organizations**: Represented hierarchically (e.g., Institution → Association → Working Group)
17-
- **Events**: Including flexible, multi-date scheduling via `EventDate`
16+
- **Uranus API Server** – Go-based backend for fast and scalable data access.
17+
- **PostgreSQL + PostGIS** – Database with spatial support for accurate venue and event mapping.
18+
- **Pluto Image Server** – Integrated image handling for events, venues, spaces and organizations.
1819

19-
The data is accessible through an **open API** for use in:
20-
- Plugins (e.g., WordPress)
21-
- Website integrations
22-
- Custom applications
2320

24-
Unlike other systems that focus solely on single events, Uranus emphasizes the **relationships** between locations, dates, and organizations — enabling advanced search and visualizations (e.g., maps and portals).
21+
# Getting Started
2522

26-
---
23+
1. Clone the repository for the Vue3 frontend:
24+
```bash
25+
git clone git@github.com:sndcds/uranus-dashboard.git
26+
```
2727

28-
## Target Audiences
28+
2. Clone the repository for the Go backend:
29+
```bash
30+
git clone clone git@github.com:sndcds/uranus.git
31+
```
2932
30-
- **Event Organizations**: Associations, initiatives, educational and cultural institutions, etc.
31-
- **Event Enthusiasts**: Users searching for events based on:
32-
- Date
33-
- Audience
34-
- Type/genre
35-
- Location
36-
- Organizations
37-
- Accessibility
38-
- **Portals & Institutions**: Municipalities, cultural associations, or media platforms that want to integrate event data
39-
- **Journalists & Culture Reporters**: Looking for structured event information
33+
3. Follow setup instructions in the documentation to run the API server and database.
4034
41-
---
4235
43-
## Project Status
4436
45-
This project was initiated by **OK Lab Flensburg** on **March 2, 2025**.
37+
# Contributing
4638
47-
We are currently building the **first MVP** (Minimal Viable Product) to demonstrate the core concept of Uranus. The MVP will include:
48-
- Event creation & management
49-
- API access
39+
We welcome contributions, feedback, and feature requests! You can:
5040
51-
More features will be added in the coming months.
41+
- Report bugs
42+
- Suggest new features
43+
- Fork and extend the code for your own needs
5244
53-
---
54-
55-
## Get Involved
56-
57-
We welcome feedback and contributions.
58-
Feel free to:
59-
- Create issues for bugs or feature ideas
60-
- Submit pull requests
61-
- Contact us directly via email
62-
63-
---
64-
65-
## Installation
66-
67-
---
68-
69-
### Prerequisites
70-
71-
1. **Database Setup**
72-
73-
- Ensure PostgreSQL with PostGIS extension is installed and running on `localhost` (default port: `5432`).
74-
- Create a database named `uranus`, owned by a user with the same name.
75-
- Make sure the database accepts connections from `localhost`.
76-
77-
2. **Environment Variables**
78-
79-
80-
---
81-
82-
## Configuration
83-
84-
```json
85-
{
86-
"verbose": true,
87-
"dev_mode": true,
88-
"port": 9090,
89-
"base_api_url": "http://localhost:9090",
90-
"use_router_middleware": true,
91-
"db_host": "localhost",
92-
"db_port": 5432,
93-
"db_user": "roaldchristesen",
94-
"db_password": "",
95-
"db_name": "oklab",
96-
"db_schema": "uranus",
97-
"ssl_mode": "disabled",
98-
"allow_origins": ["http://localhost:8009", "https://uranus.grain.one"],
99-
"pluto_verbose": true,
100-
"pluto_image_dir": "/Users/roaldchristesen/Documents/Developer/Projects/pluto/image",
101-
"pluto_cache_dir": "/Users/roaldchristesen/Documents/Developer/Projects/pluto/cache",
102-
"jwt_secret": "82jhdksl#",
103-
"auth_token_expiration_time": 3600
104-
}
105-
```
106-
107-
108-
---
109-
110-
## Export Database
111-
112-
```sh
113-
pg_dump -U oklab -h localhost -d oklab -n app --data-only --column-inserts --no-owner --no-comments --verbose -f uranus_data_dump.sql_utils
114-
pg_dump -U oklab -h localhost -d oklab -n app --schema-only --no-owner --no-comments --verbose -f uranus_schema_dump.sql_utils
115-
```
45+
Join the community and help us build a better platform for cultural and civic event management.

api/admin_get_event.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ func (h *ApiHandler) AdminGetEvent(gc *gin.Context) {
3535
&event.SourceUrl,
3636
&event.ReleaseStatus,
3737
&event.ReleaseDate,
38+
&event.Categories,
3839
&event.ContentLanguage,
3940
&event.OrganizationId,
4041
&event.OrganizationName,

api/admin_get_organization_events.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ func (h *ApiHandler) AdminGetOrganizationEvents(gc *gin.Context) {
7373
&e.EndTime,
7474
&e.ReleaseStatus,
7575
&e.ReleaseDate,
76+
&e.Categories,
7677
&e.VenueId,
7778
&e.VenueName,
7879
&e.SpaceId,

model/event.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ type AdminEvent struct {
139139
SourceUrl *string `json:"source_url,omitempty"`
140140
ReleaseStatus string `json:"release_status"`
141141
ReleaseDate *string `json:"release_date,omitempty"`
142+
Categories []int `json:"categories,omitempty"`
142143
ContentLanguage *string `json:"content_language,omitempty"`
143144
OrganizationId int `json:"organization_id"`
144145
OrganizationName string `json:"organization_name"`
@@ -220,6 +221,7 @@ type AdminListEvent struct {
220221
DateId *int `json:"date_id"`
221222
ReleaseStatus *string `json:"release_status"`
222223
ReleaseDate *string `json:"release_date,omitempty"`
224+
Categories *[]int `json:"categories,omitempty"`
223225
CanEditEvent bool `json:"can_edit_event"`
224226
CanDeleteEvent bool `json:"can_delete_event"`
225227
CanReleaseEvent bool `json:"can_release_event"`

sql/admin-get-event.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ SELECT
44
e.source_url,
55
e.release_status AS release_status,
66
TO_CHAR(e.release_date, 'YYYY-MM-DD') AS release_date,
7+
e.categories,
78
e.content_iso_639_1 AS content_language,
89
o.id AS organization_id,
910
o.name AS organization_name,

sql/admin-get-organization-events.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ SELECT
2929

3030
e.release_status,
3131
TO_CHAR(e.release_date, 'YYYY-MM-DD') AS release_date,
32+
e.categories,
3233

3334
v.id AS venue_id,
3435
v.name AS venue_name,

0 commit comments

Comments
 (0)