Projectify is a straightforward platform that allows students and professionals to showcase their work and connect with other students or professionals and recruiters based on interests/desires.
Home Page
Profile Page
Project Page
Interests Page
Before starting, make sure you have completed the following:
Git is installed.
You have a GitHub account.
Node.js and npm are installed.
Python and pipenv are installed.
Honcho is installed for managing Procfile-based applications.
To set up a local instance, follow these steps:
-
Clone the repository:
git clone git@github.com:maneandmoon/projectify.git
-
Change to the root directory:
cd projectify
-
Install npm packages:
npm install
-
Move to the front-end directory:
cd client
-
Install npm packages in the front-end directory:
npm install
Make sure you are in the root directory of the project.
-
Install pipenv and the necessary dependencies:
pipenv install
-
Activate the virtual environment:
pipenv shell
-
Navigate to the data directory:
cd server/Database-Imports
-
Create a database file from the SQL file:
sqlite3 app.db < backup.sql
-
Alternatively, you can create a migration environment by navigating to cd server and following these prompts to create two new directories-- instance and migrations, where app.db will be added to the instance directory.
flask db init flask db migrate -m "Initial migration." flask db upgrade python seed.py
Ensure you are in the root directory of the project.
Start the application using Honcho:
honcho start -f Procfile.dev
To interact with the API, send requests to the endpoints defined in your backend. For example:
curl -X GET http://localhost:3000
Alternatively, use a tool like Postman to set the URL to your local server's API endpoint and make your desired requests.
Verify that your SQLite database file is correctly set up before starting the back-end server.
- Users can create a basic account (global user) to access the platform
- Users complete their profile including adding their projects and selecting interests and then are able to view the Home page
- Navbar has Home (Projects), Profiles, Interests buttons
- Home displays cards of all the projects with details and links
- [If needed to satisfy model relationship requirements, users can add comments to projects]
- Profiles displays cards of all of the user profiles
- Users can click on profiles to view details including associated projects and interests
- Interests displays list of interests with associated users
- Users can edit their own profile
- Add authorization and authentication for users
- Add project upvotes
- Display most upvoted projects
User Routes
GET /users: Retrieve a list of all users.
POST /users: Create a new user.
GET /users/<id>: Retrieve a specific user by ID.
PATCH /users/<id>: Partially update a specific user by ID.
DELETE /users/<id>: Delete a specific user by ID.
Project Routes
GET /projects: Retrieve a list of all projects.
POST /projects: Create a new project.
GET /projects/<id>: Retrieve a specific project by ID.
PATCH /projects/<id>: Partially update a specific project by ID.
DELETE /projects/<id>: Delete a specific project by ID.
Interest Routes
GET /interests: Retrieve a list of all interests.
POST /interests: Create a new interest.
GET /interests/<id>: Retrieve a specific interest by ID.
PATCH /interests/<id>: Partially update a specific interest by ID.
DELETE /interests/<id>: Delete a specific interest by ID.
- Users can enter desires (what they are looking for or building), search for and view desires, and click to collaborate
- Display most upvoted projects and filter
- Add authorization and authentication for users
- Recruiters can post jobs and users can view jobs
https://trello.com/b/QsYydeA5/phase-iv-kanban

- A
- A
- D
- D

