A way to record legacy videos to be sent to your loved ones AND send scheduled recoded video messages.
View Production Site
·
Table of Contents
Skyfall allows users to record video messages which will be emailed to their loved ones once the user passes away or at a scheduled date, system also allows the user's to record video birthday messages to be sent to their friends and family on the recipient's birthday.
- React.js
- Express.js
- Postgres
- TypeScript
- Microsft Azure
- Mantine
- Redux Toolkit
- Redux Toolkit Query
- Framer Motion
Ensure you have the latest version of NodeJS and npm installed. This project uses Vite so some of the commands you may be used to would be different.
- Clone the repo
[git clone https://github.com/aghilann/Finance-Tracker.git](https://github.com/aghilann/Skyfall/)
- Configure the Enviroment Variables for Postgres and the Azure Blob
PROCESS.ENV = <yourKey>
- Install the depencies
config.jscd server npm install cd .. cd client npm install
-
Set Up Database
- Spent time researching how much info should really be in a user table and what should be relational
- Setup the Postgres server in Microsoft Azure along with it's resource group
-
Set Up Server
- Set up TS for ExpressJS
- Setup ESLint and Prettier
- Created a Postgres DB on Azure and connected it to server
- Organized files into MVC design pattern - no views since backend functions as Restful JSON API
- Created Routes and Controllers for Sign-Up and Sign-in with Error Handling for every unqique sitation (eg. user with email exists)
-
Setting up Client
- Created Vite Project and setup Mantine
- Established different Routes with React Router
- Set up Redux and RTK Query Boilerplate
- Used Framer Motion to animate these routers to add a transition between pages.
-
Hard Work Begins
- Got a prebuilt Navigation Bar from Mantine UI but heavily edited it to handle re-routing and added mobile responsiveness with Media Queries
- Set up the Sign-Up Sign-In Page, most of the work was connecting the UI to server. Done with native fetch and async await, not RTK Query
- Set up a singular routes for legacies, created a table for legacies with a foreign key constraint to users
- With the getLegacy route established, begun work on stateful table with fully mutable data - data fetched using RTK Query
- This task is proving to be very difficult, multiple more routes most be created, decisions must be made on when to call the API
- Need to add the ability for users to add files and send it directly from the client to the Azure Blob
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt for more information.
Aghilan Nathan - nathanaghilan@gmail.com
