This project is aimed at creating an open-source communication platform for alumni members of the Hack Reactor Advanced Immersive Software Engineering Program.
Share a link to your project, on our project
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
This project showcases our abilities in full life-cycle software development. From just an idea, all the way to a deployed, functioning full stack web application. We created a design, underwent a thorough planning process, and executed each step sequentially until it was done.
- Before login, you are intially directed to a "welcome" page, where you're able to view a sample set of posts, which are static and placed ironically as a hook to grab the potential users attention.
- As a non-logged in user, you have the ability to see all other users, and their respective posts.
- As a logged in user, you will have accessibility to four main pages, the homepage, list of users, my profile, and update user. - Home page will allow you to view the most current posts within the LifeLink Feed as well as publish your own posts. - Within list of users, you'll be able to view a list of currently registered users as well as view their individual profile. - The my profile page will allow you to Update or delete either your profile or your posts.
This project was developed from start to finish within a 4 week time-frame. Our product is in its first production version, which is a living solution to the problem of struggling to keep up with who's who on linkedin, and what graduating class they're from, mixed in with the ever-evolving other details of their lives. As Hack Reactor students, we are focused on one thing, networking. We want to know who, from what class, did what to get what interview or what job, and share helpful insights as they see fit.
We have hopes to continue forward on this journey, improving the app experience as our skillset grows.
Our goals for this project are as follows:
- Links shared in a post made to be clickable. This will facilitate a good user experience when other students are sharing their projects.
- Ability to post photos/implement profile photos.
- Individual chatrooms which are category-specific. For example, a 'jobs board' could be an independant feed where we talk about employment opportunities, tips, etc.
- test_post.py completed by Zack Hitchcock. tests 'get_specific_post' query
- test_posts.py completed by Sherika Fayson. tests 'get_all_posts' query
- test_users.py completed by James Bratcher tests 'get_all_users' query
Our project is deployed! you can visit the production version here: LifeLink
- fork & clone this project:
- in your terminal, cd to this projects directory.
- Install python dependencies locally
In order for VSCode's built in code completion and intelligence to work correctly, it needs the dependencies from the requirements.txt file installed. We do this inside docker, but not in the workspace.
So we need to create a virtual environment and pip install the requirements.
'cd' to the api
folder and execute these commands:
python -m venv .venv
Then activate the virtual environment
source ./.venv/bin/activate
Upgrade pip
python -m pip install --upgrade pip
And finally install the dependencies
pip install -r requirements.txt
Now open the project in VSCode
code .
Then make sure the venv is selected in VSCode by checking the lower right of the VSCode status bar
- in VSCode, create a
.env
file in the root directory and enter the following:
note: signing keys are unique. below is a sample for your convenience
DATABASE_URL=postgresql://admin:admin@postgres:5432/postgres-data
SIGNING_KEY_FROM_ENV_FILE=oi4j7f-oijoisjfeihf1iu1-rdghlijwelihf
VITE_API_HOST=http://localhost:8000
- in VSCode, in a file: ghi/src/main.jsx,
youll need to comment out lines 8&9, and uncomment line #10. This will leave the code in good condition to run in the docker environment.
- Now, open docker desktop
- back in your terminal, in the root directory, enter these commands:
docker compose build
# IF RUNNING ON A MAC WITH SILICON PROCESSOR:
DOCKER_DEFAULT_PLATFORM=linux/amd64 docker-compose build
docker compose up
-
enter the credentials:
- Email: '[email protected]'
- Password: 'admin'
-
right click 'servers'
-
select 'register'
-
select 'server'
-
name the database (name can be anything)
-
select 'connection' tab
-
enter 'postgres' for hostname
-
enter 'admin' for password
-
select 'save' on the bottom right of the popup window
-
if the fast API container doesnt start running automatically, you will just need to start it manually. migrations run automatically for this project upon container startup, but we all know docker. It might need some manual persuasion.
At this point, you are running the local version of our project!
To navigate the local application, you will need the following endpoints saved:
- backend API: http://localhost:8000/docs#/
- frontend navigation: (Start here) http://localhost:5173/welcome
- documentation for the frontend web page can be viewed here: click me
- pgadmin database: http://localhost:8082/browser
Here, you will find all API documentation, and examples of the projects frontend as it functions at the time of writing this readme.
For more examples, please refer to the Documentation
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 'Added an AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Merge Request