Skip to content

winglang/website-with-file-uploader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

QuickShare: Share files with friends

Demo Wing application to showcase functions, queues, tables and abstractions.

header header

How it works

This demo application shows how you can write Wing applications with cloud primitives and custom abstractions into services, routes and listening to database changes.

To use the application

  • Make sure you have Wing installed and clone the repo.
  • Run wing it in the backend project directory
  • The wing console will load in your browser.
  • Go to http://localhost:5173/ to load the Vite application.
  • Click Create Magical Space
  • Add email address and files into the application.
  • Click Share with Friends to send emails to your selected friends.

This application consists of a collection of cloud primitives with Wing and winglibs:

  • Cloud API - API for the frontend to add/edit and delete freinds/spaces.
  • Cloud functions - Compute to process API requests, queues and database changes.
  • Queues - To handle sending the email, configured DLQ on the queue
  • winglib DynamoDB - Single table design to store friends and spaces into the database.
  • winglib email - To send emails to friends.

How the project is structured

The project consists of a Vite application (front end), routes (for API) and services (spaces, friends and notifications service).

Wing is flexible in the ways you want to abstract your code and how you want to implement your resources. This application follows a standard /routes and /services pattern.

Using in production

Warning: This solution does not enforce any auth and is for demo purposes only.

Contributing

Feel free to raise a issue or pull request if you have any questions of feature requests.

License

MIT.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published