Skip to content

Latest commit

 

History

History
94 lines (74 loc) · 5.63 KB

README.md

File metadata and controls

94 lines (74 loc) · 5.63 KB

alt text

By G1T7

Problem Statement

"With the nation healing from Covid-19, a 'New Normal' API needs to be established to cohesively coordinate effort for ensuring our recovery trajectory remains on course."

Prior to the pandemic, Singapore was host to many events, both large and small scale. Locus serves to enable community-building again in the new normal by empowering both participants and organisers the convenience of keeping in sync with the prevailing guidelines.

Target Audience

Event Organizers and Participants

Core Features

Event Management

Users have the freedom to take part in public events that can accommodate a number of participants based on the prevailing restrictions and guidelines. Users can also organise events based on their interests and choose to make them private. Our application is updated with the prevailing measures and will be convenient for users to abide to them.

Locus API

As a complement to our application, we created a self-sufficient microservice, LocusAPI which gathers news and acts as a content management system. LocusAPI's public endpoints allow users to gather information such as Covid-19 Updates and Government Press Releases. The documentation for this microservice can be found here. The repository for this service can also be found here.

Image Filtering

To ensure that Locus is a family friendly application, we included a filter for any image uploading functionality within the application. This service utilises Google Cloud Vision to protect against inappropriate content.

Private Events

Recognising the need for some events to be private and exclusive, we included the use of a special invite code within our application that organizers can share.

OpenAttestation Verification

To ensure that guidelines governing events are followed, we have to ensure that the vaccination status of our users are valid and updated. As such, we automated the process of validating a user's vaccination status with the use of a microservice. The repository can be found here.

Technology Stack

API Documentation

To find out more about our API endpoints, you can look at our detailed documentation here.

Future Considerations

  • Scheduling algorithm for organisers to have an overview of venues that are available for the time of event
  • Inclusion of a TraceTogether API that allows us to consolidate all the possible event spaces in Singapore, this would then support the scheduling algorithm by ensuring the event locations are unique
  • Attendance taking using Event Ticket QR code

Local Deployment

Cloning of Repo

$ git clone https://github.com/iPhantasmic/Locus.git

Configuration for application.properties

Field Description
spring.datasource.url Connection string/URL of the SQL database for Spring Boot project.
spring.datasource.password Password credentials for database.
jwt.secret Secret key for JWT. Should be a long random string that is secret to you.
jwt.admin.pass Password for default admin user.
oa.healthcert.url URL for the health certificate verification endpoint. Should follow the form of https://domain/verifyvaccination
news.microservice.url URL for the news microservice. This endpoint requires an API key to be passed for verification. Should follow the form of https://domain/admin?API_KEY=xxx
spring.mail.username Email address of account that would be sending out the emails for our email service.
spring.mail.password Password credential for the above email account.

Spring Boot project

For UNIX:

$ ./mvnw spring-boot:run

For Windows:

$ mvn spring-boot:run

The backend will be hosted on port 8080

Next.js Application

$ cd client
$ npm i
$ npm run dev

The client will be accessible from port 3000

Disclaimer

  • We do not own or license any copyrights in the images used in the application. You may use the Services and the contents contained in the Services solely for your own individual, non-commercial and informational use only.